歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> 如何實現Linux中的CA認證

如何實現Linux中的CA認證

日期:2017/3/3 16:14:42   编辑:關於Linux

我們知道,當客戶端與服務器端建立會話之前,首先是客戶端發送請求,然後進行TPC/IP的三次握手,接著客戶端與服務器端建立ssl會話。

會話過程:

A --> 服務器端

B --> 客戶端

第一步:AB雙方商量使用什麼加密算法,怎麼加密等等。 第二步:A發送證書給B,為了使B相信他。 第三步:B相信了,就生成對稱密鑰,將請求頁面發送給A。 最後,A使用B發送的密鑰加密後,將請求回應給B。

由於B要驗證A的身份,因此,這裡引入了第三方權威頒發機構,即CA,可以給A發證書。而B是相信CA的,因此,B擁有CA的證書。

則,A生成一對公鑰,發送給CA進行簽署(可以理解為蓋章)得到證書,然後返回給自己,並且配置服務器,使之能使用證書。而B收到A的證書後,使用保存在主機上的CA證書去驗證。

接下來,我們就將實現私有CA的認證。

准備工作:

兩台主機,一個做CA(172.16.13.1),一個做web服務器端(172.16.13.2)。

[注--172.16.13.2主機必須配置完成web服務器]

步驟:

一、CA證書的制作(CA的主機上)

1、查看是否安裝了openssl軟件

# rpm -qa openssl

2、生成自簽證書

【在/etc/pki/CA目錄下完成】

(1)生成私鑰

(2)生成自簽證書

//由於生成證書是需要填寫一些國家,省份等信息。這裡將這些信息直接寫入其默認配置文件中,以後就不用再填寫了。

【編輯/etc/pki/tls/openssl.cnf,】找到大約136行左右:

【生成自簽證書】

//要想將CA作為私有CA使用,則還需要在/etc/pki/tls/openssl.cnf文件中修改默認路徑:

並且將CA工作時所需的目錄創建出來。

由此,CA證書便創建完成

二、配置web服務器為CA客戶端(在172.16.13.2主機上)

1、在/etc/httpd目錄下,創建一個ssl目錄

 

2、在ssl目錄下生成一個私鑰以及證書頒發請求。

3、將證書頒發請求復制到CA服務器上

三、簽署證書(CA服務器上)

使用下邊一條命令進行簽署:

# openssl ca -in /tmp/httpd.csr -out /tmp/httpd.crt -days 3650

四、驗證(CA主機上)

查看/etc/pki/CA目錄下的index.txt以及serial,生成了證書索引

五、將證書發送給客戶端(172.16.13.2)

六、配置服務器能使用此證書

在/etc/httpd/conf.d目錄下的ssl的配置文件ssl.conf

【在大概31行左右,修改其內容】

【在大約114行左右,修改其內容】

七、重啟web服務器

# service httpd restart

八、在浏覽器驗證

1、使用u盤或者遠程連接等工具將CA服務器上/etc/pki/CA/cacert.pem文件拷貝到自己的window桌面。

2、將cacert.pem的後綴名修改為.crt,打開後安裝證書

3、安裝後即可在浏覽器打開我們之前請求證書的頁面。

好啦!一個完整的CA自簽證書認證已經完成了,是不是覺得很神奇呢?那麼就動手制作吧!

本文出自 “對著陽光微笑著” 博客,請務必保留此出處http://dongld.blog.51cto.com/4234800/1175693

Copyright © Linux教程網 All Rights Reserved