準備自簽證書環境:
在運維主機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