我是靠谱客的博主 默默小鸭子,最近开发中收集的这篇文章主要介绍CFSSL制作ETCD证书,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

找台CentOS7(10.3.8.234)来做CA制作自签名证书。

1、下载cfssl工具
wget https://pkg.cfssl.org/R1.2/cfssl_linux-amd64 -O cfssl -P /usr/local/bin/
wget https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64 -O cfssljson -P /usr/local/bin/
wget https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64 -O cfssl-certinfo -P /usr/local/bin/
chmod +x /usr/local/bin/cfssl*

2、生成证书
mkdir ssl
cd ssl
生成默认的配置文件和证书签名请求文件

cfssl print-defaults config > ca-config.json
cfssl print-defaults csr > ca-csr.json

修改CA配置文件
[root@cobbler ssl]# cat ca-config.json

{
"signing": {
"default": {
"expiry": "43800h"
},
"profiles": {
"server": {
"expiry": "43800h",
"usages": [
"signing",
"key encipherment",
"server auth"
]
},
"client": {
"expiry": "43800h",
"usages": [
"signing",
"key encipherment",
"client auth"
]
},
"etcd": {
"expiry": "43800h",
"usages": [
"signing",
"key encipherment",
"server auth",
"client auth"
]
}
}
}
}

修改CA请求文件
[root@cobbler ssl]# cat ca-csr.json

{
"CN": "etcd",
"key": {
"algo": "rsa",
"size": 2048
},
"names": [
{
"C": "CN",
"ST": "Guangdong",
"L": "Guangzhou",
"O": "etcd",
"OU": "System"
}
]
}

生成CA证书

[root@cobbler ssl]# cfssl gencert -initca ca-csr.json | cfssljson -bare ca

该命令会在当前目录下生成ca.csr、ca-key.pem、ca.pem三个文件。
etcd证书和私钥
创建etcd证书签名请求etcd-csr.json:

{
"CN": "etcd",
"hosts": [
"127.0.0.1",
"10.3.8.101",
"10.3.8.102",
"10.3.8.103",
"localhost",
"core1",
"core2",
"core3"
],
"key": {
"algo": "rsa",
"size": 2048
},
"names": [
{
"C": "CN",
"ST": "Guangdong",
"L": "Guangzhou",
"O": "etcd",
"OU": "System"
}
]
}

hosts中三个ip即是三个ETCD节点,因为共用证书,所以写一起了。

生成etcd证书和私钥:

cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -profile=etcd etcd-csr.json | cfssljson -bare etcd

生成etcd.pem etcd-key.pem,三个节点共用此证书。

附:数字证书中主题(Subject)中字段的含义
一般的数字证书产品的主题通常含有如下字段:
公用名称 (Common Name) 简称:CN 字段,对于 SSL 证书,一般为网站域名;而对于代码签名证书则为申请单位名称;而对于客户端证书则为证书申请者的姓名;
组织名称,公司名称(Organization Name) 简称:O 字段,对于 SSL 证书,一般为网站域名;而对于代码签名证书则为申请单位名称;而对于客户端单位证书则为证书申请者所在单位名称;
组织单位名称,公司部门(Organization Unit Name) 简称:OU字段

证书申请单位所在地
所在城市 (Locality) 简称:L 字段
所在省份 (State/Provice) 简称:S 字段,State:州,省
所在国家 (Country) 简称:C 字段,只能是国家字母缩写,如中国:CN

最后

以上就是默默小鸭子为你收集整理的CFSSL制作ETCD证书的全部内容,希望文章能够帮你解决CFSSL制作ETCD证书所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(37)

评论列表共有 0 条评论

立即
投稿
返回
顶部