建立私有CA:
在确定配置為CA的伺服器上生成一個自簽證書,并為CA提供所需要的目錄及檔案即可;
步驟:
(1) 生成私鑰;
]# (umask 077; openssl genrsa -out /etc/pki/CA/private/cakey.pem 4096)
注意:檔案名要與配置檔案中的檔案名一緻;
]# ll /etc/pki/CA/private/:檢視檔案權限確定為600;
(2) 生成自簽證書;
]# openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 3655
-new:生成新證書簽署請求;
-x509:生成自簽格式證書,專用于建立私有CA時;
-key:生成請求時用到的私有檔案路徑;
-out:生成的請求檔案路徑;如果自簽操作将直接生成簽署過的證書;
-days:證書的有效時長,機關是day;
根據提示輸入相關資訊,完成即可;
提示輸入:Country Name (2 letter code) [XX]:CN
提示輸入:State or Province Name (full name) []:Beijing
提示輸入:Locality Name (eg, city) [Default City]:Beijing
提示輸入:Organization Name (eg, company) [Default Company Ltd]:MageEdu
提示輸入:Organizational Unit Name (eg, section) []:Ops
提示輸入:Common Name (eg, your name or your server's hostname) []:ca.magedu.com
如果是個人通信為自己的名字,如果是伺服器為伺服器主機名;
]# ls /etc/pki/CA/
檢視要有certs crl newcerts這3個目錄,如果沒有要自行建立;
(3) 為CA提供所需的目錄及檔案;
]# mkdir -pv /etc/pki/CA/{certs,crl,newcerts}
]# touch /etc/pki/CA/{serial,index.txt}
]# echo 01 > /etc/pki/CA/serial
在用到證書的伺服器上操作:
1.建立一個目錄存放主機的私鑰;
2.生成私鑰;
3.生成證書簽署請求
4.将.csr檔案請求通過可靠方式發送給CA主機;
步驟:(以httpd為例)
(1) 用到證書的主機生成私鑰;
]# mkdir /etc/httpd/ssl
]# cd /etc/httpd/ssl
]# (umask 077; openssl genrsa -out /etc/httpd/ssl/httpd.key 2048)
(2) 生成證書簽署請求
]# openssl req -new -key /etc/httpd/ssl/httpd.key -out /etc/httpd/ssl/httpd.csr -days 365
根據提示輸入相關資訊,完成即可;
提示輸入:Locality Name (eg, city) [Default City]:Beijing
提示輸入:Organization Name (eg, company) [Default Company Ltd]:MageEdu
此處一定要為用戶端通路的位址;
提示輸入:A challenge password []:可為空
提示輸入:An optional company name []:可為空
(3) 将請求通過可靠方式發送給CA主機;
]# ls:生成一個httpd.csr檔案,把此檔案用可靠方式發送給CA主機;
實際應用時,是CA公司來人到現場取走檔案;
實驗環境,就是以scp指令,可實作兩主機間複制檔案;
表示在本地複制httpd.csr檔案,以遠端主機172.18.250.131的root使用者身份拷貝此檔案到遠端主機的/tmp/目錄下
輸入yes,确認連接配接,再輸入遠端主機root使用者的登入密碼,即可複制完成;
就是實作了把httpd.csr檔案拷貝的CA主機上;
(4) 在CA主機上簽署證書;
]# openssl ca -in /tmp/httpd.csr -out /etc/pki/CA/certs/httpd.crt -days 365
顯示提示:Sign the certificate? [y/n]:y
顯示提示:1 out of 1 certificate requests certified, commit? [y/n]y
把簽署的證書httpd.crt發送給伺服器主機:
在實驗環境,還用scp兩主機直接拷貝檔案httpd.crt即可;
輸入yes,确認連接配接,再輸入遠端主機root使用者的登入密碼,即可複制完成;
此時在伺服器主機上的httpd.csr就沒用了,可以删了;
在CA主機上的簽署前的httpd.csr也沒用了,也可以删了;
以上建立私有CA完成;
可在伺服器主機或用戶端主機上(隻要有證書),都可檢視證書;
]# openssl x509 -in /etc/pki/CA/certs/httpd.crt -noout -serial -subject
本文轉自 crystaleone 51CTO部落格,原文連結:http://blog.51cto.com/linsj/1761974,如需轉載請自行聯系原作者