1 準備
使用《VS2015編譯Openssl-1.1.0f》介紹的方法生成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這兩個數儲存即可。
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
2、用戶端 1)建立私鑰(密碼可自定,這裡設為:123456):
openssl genrsa -des3 -out client.key 1024
2)建立證書簽名請求
openssl req -new -key client.key -out client.csr -config ../ssl/openssl.cnf
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
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
至此,便生成了伺服器端和用戶端證書。
4、檢視證書資訊
openssl x509 -noout -text -in server.crt
5、驗證證書
openssl verify -CAfile ca.crt server.crt
openssl verify -CAfile ca.crt client.crt