概述
找台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证书所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复