為公司內部搭建CA


 步驟一

首先我們要知道CA的配置文件

openssl的配置文件:/etc/pki/tls/openssl.cnf

我們打開這個配置文件

clipboard

這文件中很多跟CA相關的信息如圖

clipboard

解釋:

我們可以搭建好幾個CA,那么誰是默認的?圖中① “=”號后面的信息就是默認的CA

圖中②是默認CA的信息

依次表示:

dir行:存放CA所有信息的目錄,比如編號,證書等等

certs行:證書存放的位置

crl_dir行:證書吊銷列表,存放吊銷證書的位置

database行(數據庫):存放證書信息,如10個人申請了證書,就存放10行信息

unique_subject=no行:指的的是是否允許對一個主題申請多個證書(這里注銷掉了,也就是說默認不允許)

new_certs_dir行(新證書的文件夾):存放新證書的位置

certificate行(ca的證書文件名):自己的證書

serial行(序列號):證書的編號存放位置,寫的是下一個證書的編號,如現在頒發了10個人那么這里寫的是11

crlnumber行(吊銷證書的編號):吊銷證書編號存放位置

crl行:存放證書吊銷列表文件的路徑

private_key(私鑰)行:CA的私鑰公鑰證書位置

RANDFILE行:隨機文件

圖二:

clipboard

上圖信息說明:

policy 行:是策略,這個策略采用的是“=”號后面的policy_match

圖中第二個方框是policy_mach策略的具體信息

(我們搭建CA要提供,必須信息,比如國家,省份,公司,部門等等,客戶端申請證書也要提交這些信息,那有哪些要必須一致的呢?就要用match來定義)

上圖有三項必須一致的

countryName:國家

stateOrProvinceName:省份

organizationName:公司名

為什么要必須一致呢?因為我們搭建的是私有CA,只有在公司內部使用

一、下面我們開始正式搭建CA

首先准備兩台主機,客戶端與CA服務器端

1、首先在CA端創建CA的私鑰信息,進入CA文件夾cd /etc/pkiCA

安全生成私鑰方法:

openssl genrsa -out private/cakey.pem -des3 2048
#這里私鑰的位置與名字必須和上面的配置文件里面設置的一致,2048是加密位
#這是對私鑰進行了des3加密,每次使用私鑰都要輸入口令,也可以用umask權限來設置

 

如圖

clipboard[10]

clipboard[12]

  私鑰以建立完成

2、實現自簽名的證書

openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3650
#req是申請的意思
#-new是表示新建
#因為我們是自己給自己簽名,所以加上一個 -x509,沒有這個表示向別人申請證書
#-key私鑰位置
#-out輸出,我們證書存放位置在哪里?上面配置文件里面定義了,因為我現在在CA文件目錄里,直接寫,文件名就OK
#-days 3650是有效期,10年

如圖:

clipboard[16]

這里我們前面設置了私鑰密碼,所有要輸入口令,之后就是讓你輸入一些信息,就是上面的國家,省份,市區,公司,部門等等信息。

如圖

clipboard[17]

可以查看CA信息文件

clipboard[26]

也可在win系統查看

clipboard[20]

clipboard[21]

3、讓win系統信任此證書

控制面板--internet 選項--內容--證書--受信任的根證書頒發機構--導入

clipboard[22]

也可直接打開cacert.cer文件 單擊 安裝證書

到此根證書創建完畢,下面來創建客戶端來向CA服務器端申請證書

二、客戶端申請證書

假設有一個軟件,這個軟件是應用程序,給自己的軟件使用證書,就要申請證書。

步驟和上面的大同小異

1、生成私鑰,這回我們換另一種安全生成私鑰的方式,首先我們要進入這個軟件的文件夾,執行

(umask 066;openssl genrsa -out app.key 1024)
#()相當於子shell 當前umask默認值還是022沒變
#app.key是生成的文件,入http要用就放在http專門的文件夾里面

clipboard[28]

2、利用私鑰生成證書申請文件

openssl req -new  -key app.key -out app.csr

clipboard[30]

3、把申請的證書信息傳到CA服務器

clipboard[34]

#這個/etc/...目錄是可以換的

4、CA服務器給客戶端頒發證書

給客戶端頒發證書要有下面這兩個文件夾

clipboard[40]

clipboard[36]

clipboard[37]

5、執行命令

ca -in app.csr -out app.cer -days 100

6、把證書傳給客戶端 放在必要的目錄下,在win系統上查看下

OK結束

歡迎補充 Be right back


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM