天天看點

建立私有私有CA

 建立私有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,如需轉載請自行聯系原作者

繼續閱讀