1. 程式人生 > >搭建CA,二級CA,和簽發證書

搭建CA,二級CA,和簽發證書

1 搭建CA

1.1 環境的搭建

首先建立CA目錄,所有與CA相關的內容都包含在這個資料夾中。然後在這個目錄下再建立2個資料夾newcerts和private,分別用於存放CA釋出的證書和CA的私鑰。另外還需要建立3個檔案,第一個檔案用來追蹤已經發布的證書的序列號,因為每個證書的序列號都必須唯一。這個檔案叫做serial,它的初始值為1. 這個數值是16進位制,並且最少為2位。第二個檔案的初始值為空,名字為index.txt。它是個資料庫,儲存CA釋出的證書的資訊,每一行對應一個證書。

mdkir ~/democa

cd ~/democa

mkdir newcerts private

echo '01' > serial

touch index.txt

1.2 OpenSSL配置檔案

使用命令openssl ca可以檢視預設配置檔案的位置,把它拷貝到demoCA目錄。然後對它進行修改

(1)dir=. #把工作目錄指向當前目錄

1.3 建立CA根證書

通常需要3步來建立一個CA證書:CA私鑰;CA證書籤名請求(CSR);CA證書

1.3.1 CA私鑰

openssl genrsa -out cakey.pem 2048

生成一個RSA祕鑰,長度為2048位。

1.3.2 CSR

openssl req -new -key cakey.pem -out cacsr.pem

你會被要求輸入很多引數,這些引數就是申請者的身份資訊,你可以全部按空格(使用預設值),但是必須輸入Common Name。同時CSR需要包含申請者的公鑰,所以-key指定公鑰檔案。

此命令用來檢視剛剛生成的CSR

openssl req -text -in cacsr.pem 

1.3.3 CA證書

openssl ca -config ./openssl.cnf -keyfile cakey.pem -in cacsr.pem -selfsign -out cacert.pem

2 用CA簽發證書

2.1 製作client私鑰

openssl genrsa -out clientkey.pem 2048

2,2 CSR

openssl req -new -key clientkey.pem -out clientcsr.pem

2.3 用CA簽發client證書

openssl ca -config ./openssl.cnf -keyfile cakey.pem -cert cacert.pem -in clientcsr.pem -out clientcrt.pem

3 二級CA證書

3.1 二級CA私鑰和CSR

openssl req -newkey rsa:2048 -keyout secondkey.pem -out secondcsr.pem

3.2 用根CA簽發二級CA證書

openssl ca -config ./openssl.cnf -keyfile cakey.pem -cert cacert.pem -in secondcsr.pem -out secondcert.pem

4 用二級CA簽發server證書

4.1 server私鑰和CSR

openssl req -newkey rsa:2048 -keyout serverkey.pem -out servercsr.pem

4.2 用二級CA簽發server證書

openssl ca -config ./openssl.cnf -keyfile secondkey.pem -cert secondcert.pem -in servercsr.pem -out servercert.pem