准备自签证书环境:
在运维主机gcbj1-200这台主机上:
我们用cfssl来演示,后期会用openssl演示;
[root@gcbj1-200 ~]# cd /usr/local/src/ #在/usr/local/src目录下下载cfssl、cfssljson、cfssl-certinfo这三个包: [root@gcbj1-200 ~]# wget https://pkg.cfssl.org/R1.2/cfssl_linux-amd64 [root@gcbj1-200 ~]# wget https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64 [root@gcbj1-200 ~]# wget https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64 [root@gcbj1-200 src]# mv cfssl_linux-amd64 /usr/bin/cfssl [root@gcbj1-200 src]# mv cfssljson_linux-amd64 /usr/bin/cfssljson [root@gcbj1-200 src]# mv cfssl-certinfo_linux-amd64 /usr/bin/cfssl-certinfo #赋予执行权限: [root@gcbj1-200 src]# chmod +x /usr/bin/cfssl* [root@gcbj1-200 src]# ll /usr/bin/cfssl* -rwxr-xr-x 1 root root 10376657 1月 4 11:09 /usr/bin/cfssl -rwxr-xr-x 1 root root 6595195 1月 4 11:09 /usr/bin/cfssl-certinfo -rwxr-xr-x 1 root root 2277873 1月 4 11:09 /usr/bin/cfssljson
签发根证书: 创建生成CA证书签名请求(csr)的JSON配置文件;
[root@gcbj1-200 ~]# mkdir -pv /opt/certs mkdir: 已创建目录 "/opt/certs" [root@gcbj1-200 ~]# cd /opt/certs/ [root@gcbj1-200 certs]# vim ca-csr.json { "CN": "90data.net", # 机构名称,浏览器使用该字段验证网站是否合法,一般写的是域名,非常重要,浏览器使>用该字段验证网站是否合法 "hosts": [ ], "key": { "algo": "rsa", # 算法 "size": 2048 # 长度 }, "names": [ { "C": "CN", # C,国家 "ST": "beijing", # ST 州,省 "L": "beijing", # L 地区 城市 "O": "ljz", # O 组织名称,公司名称 "OU": "ops" # OU 组织单位名称,公司部门 } ], "ca": { "expiry": "175200h" # expiry 过期时间,任何证书都有过期时间.20年 } }
签发承载式证书:
[root@gcbj1-200 certs]# cfssl gencert -initca ca-csr.json | cfssljson -bare ca [root@gcbj1-200 certs]# ll 总用量 16 -rw-r--r-- 1 root root 997 1月 4 14:36 ca.csr -rw-r--r-- 1 root root 334 1月 4 14:35 ca-csr.json -rw------- 1 root root 1679 1月 4 14:36 ca-key.pem -rw-r--r-- 1 root root 1350 1月 4 14:36 ca.pem