天天看點

使用VS編譯好的Openssl庫生成數字證書

1 準備

使用《VS2015編譯Openssl-1.1.0f》介紹的方法生成Openssl庫,如圖:

使用VS編譯好的Openssl庫生成數字證書

也可以在此址下載下傳:http://download.csdn.net/detail/ljttianqin/9867280。解壓到指定目錄,如C:\openssl-1.1.0f\win32-release。

在此目錄下(C:\openssl-1.1.0f\win32-release)下,建立子目錄demoCA\newcerts,然後在\demoCA目錄中建立一空檔案index.txt,index.txt.attr以及serial檔案(沒有字尾),以及記事本方式打開serial檔案,填入01這兩個數儲存即可。

使用VS編譯好的Openssl庫生成數字證書

2 生成證書

打開CMD指令視窗,進入庫目錄:

cd /d C:\openssl-1.1.0f\win32-release\bin
           

1、伺服器端 1)建立私鑰(密碼可自定,這裡設為:123456):

openssl genrsa -des3 -out server.key 1024
           

2)建立證書簽名請求

openssl req -new -key server.key -out server.csr -config ../ssl/openssl.cnf
           
使用VS編譯好的Openssl庫生成數字證書

2、用戶端 1)建立私鑰(密碼可自定,這裡設為:123456):

openssl genrsa -des3 -out client.key 1024
           

2)建立證書簽名請求

openssl req -new -key client.key -out client.csr -config ../ssl/openssl.cnf
           
使用VS編譯好的Openssl庫生成數字證書

3、證書簽名請求CSR檔案必須有CA的簽名才可形成證書。可将此檔案發送到verisign等地方由它驗證,但要交一大筆錢。So,自個兒做CA吧。

1)建立CA的ca.key和ca.cet(密碼可自定,這裡設為:123456):

openssl req -new -x509 -keyout ca.key -out ca.crt -config ../ssl/openssl.cnf
           
使用VS編譯好的Openssl庫生成數字證書

2) 用生成的CA的證書為伺服器端server.csr和用戶端client.csr檔案簽名

openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config ../ssl/openssl.cnf
           
openssl ca -in client.csr -out client.crt -cert ca.crt -keyfile ca.key -config ../ssl/openssl.cnf
           
使用VS編譯好的Openssl庫生成數字證書
使用VS編譯好的Openssl庫生成數字證書

至此,便生成了伺服器端和用戶端證書。

使用VS編譯好的Openssl庫生成數字證書

4、檢視證書資訊

openssl x509 -noout -text -in server.crt
           
使用VS編譯好的Openssl庫生成數字證書

5、驗證證書

openssl verify -CAfile ca.crt server.crt
openssl verify -CAfile ca.crt client.crt
           
使用VS編譯好的Openssl庫生成數字證書