linux下搭建CA認證

       我們知道,當客戶端與服務器端建立會話之前,首先是客戶端發送請求,只有通過TPC/IP三次握手後,客戶端與服務器端才能建立ssl會話。握手的過程簡單的說也可以總結爲三個步驟,第一步:客戶端和服務器雙方共同商量使用什麼加密算法以及加密等等。 第二步:客戶端發送證書給服務器,目的是爲了讓服務器相信他。 第三步:服務器相信了,就生成對稱密鑰,將請求頁面發送給客戶端。 最後,客戶端使用服務器發送的密鑰加密後,將請求迴應給服務器。在這個過程中由於服務器要驗證客戶端身份的真假,因此,這裏需引入了第三方權威頒發機構,即CA,可以給客戶端發證書。服務器是相信CA的,因此,客戶端擁有CA的證書,從而客戶端就能訪問服務端。關於CA在這裏我們需要了解:

        1、SSL所使用的證書可以自己生成,也可以通過一個商業性CA(如Verisign 或 Thawte)簽署證書。 

        2、證書的概念:首先要有一個根證書,然後用根證書來簽發服務器證書和客戶證書,一般理解:服務器證書和客戶證書是平級關係。在SSL必須安裝根證書和服務器證書來認證。 因此,就必須至少要有三個證書:根證書,服務器證書,客戶端證書。 在生成證書之前,一般會有一個私鑰,同時用私鑰生成證書請求,再利用證書服務器的根證來簽發證書。

       接下來,我們就來簡述一下在linux下搭建CA認證服務器並實現私有CA證書的認證的過程

步驟

一、CA證書的製作(centos7)

    1)進入/etc/pki/tls/openssl.cnf 並瞭解CA證書的系統文件內容

blob.png

blob.png創建

    2)在Centos7上生成自籤根證書

        1、在/etc/pki/CA下創建數據庫索引文件index.txt、序列號記錄文件serial並指定頒發證書序列號

blob.png

        2、生成CA證書私鑰,包括設置當前umask值、私鑰保存路徑/etc/pki/CA/private及名稱cakey.pem、密碼-des3加密方式及長度2048等

blob.png

blob.png

        3、從cakey.pem私鑰中提取出公鑰並指定名稱cacert.pem,並指定CA機構的有效期(公鑰中要設置國家、省份、城市名、公司名、公司部門、服務器名稱、郵件地址等)

blob.png

blob.png

由此,CA證書便創建完成。

    3)在Centos6上搭建子CA證書

          1、在/etc/pki/CA下創建數據庫索引文件index.txt、序列號記錄文件serial並指定頒發子CA證書序列號

blob.png

        2、生成CA證書私鑰,包括設置當前umask值、私鑰保存路徑/etc/pki/CA/private及名稱cakey.pem、密碼-des3加密方式及長度2048等

blob.png

         3、從cakey.pem私鑰中提取公鑰並指定名稱subca.csr,公鑰中要設置的國家、省份、城市名、公司名、公司部門、服務器名稱、郵件地址等,其中國家、省份、公司名必須與根CA一致,而服務器名稱必須不一致,其他選項不要求。

blob.png

blob.png

        4、將Centos6生成的公鑰傳給根CA的/etc/pki/CA路徑下

blob.png

        5、根CA對subca.csr 文件進行簽名,並設置子CA的有效期,並生成一個新的 保存在certs/subca.crt下

blob.png

blob.png

        6、將簽名完成的subca.crt子CA證書文件回傳給子CA Centos6的/etc/pki/CA路徑下,並改名爲cacert.pem

blob.png

blob.png

由此,子CA證書也就創建完成。

    4)爲客戶端(Centos5)頒發證書

        1、在任意目錄下生成自己客戶端的私鑰,私鑰文件名稱無要求,也可以不加密

blob.png

        2、用私鑰rhel5.key文件生成證書請求文件rhel5.csr,文件中要設置的國家、省份、城市名、公司名、公司部門、服務器名稱、郵件地址等,其中國家、省份、公司名必須與子CA一致,而服務器名稱必須不一致,其他選項不要求。

blob.png

blob.png

        3、將生成的rhel5.csr文件傳給子CA(Centos6)並進行簽名

blob.png

        4、在Centos6上對客戶端(Centos5)請求文件rhel5.csr進行簽名,產生的新文件保存在certs/目錄下,並命名爲rhel5.crt

blob.png

        5、將簽名完成的rhel5.crt文件回傳給客戶端(Centos5)

blob.png

blob.png

由此,客戶端證書也已搭建成功。

    5)查看證書

        1、安裝根CA證書

blob.png

blob.png

blob.png

blob.png

blob.png

        2、安裝子CA證書

blob.png

blob.png

blob.png

        3、完成安裝,查看

blob.png

blob.png

blob.png

好的,到這裏就結束了,一個完整的CA自簽證書認證就已經完成了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章