流程
一般證書是證書機構(ca)簽發的,如申請域名後一般會有一個證書,一般是收費的。
如果使用openssl生成免費的服務器端與客戶端證書的話,步驟流程如下:
- 1、生成ca證書
- 2、生成服務器端證書籤發申請文件(csr文件),並用ca證書籤發,生成服務器端證書crt文件
- 3、生成客戶端證書籤發申請文件(csr文件),並用ca證書籤發,生成客戶端端證書crt文件
準備工作
下載安裝openssl,並配置環境變量
【下載】
操作過程
生成ca證書
- 生成根證書私鑰(key文件)
genrsa -des3 -out ca.key 2048
# 長度爲2048 - 生成證書籤到請求文件ca.csr
openssl req -new -key ca.key -out ca.csr
如果出現下面的異常,重啓cmd即可
- 自簽署證書生成ca.crt
openssl x509 -req -sha256 -days 3650 -in ca.csr -signkey ca.key -out ca.crt
生成server.crt 證書
- 1、證書私鑰(key文件)
genrsa -out server.key 2048
# 長度爲2048 - 2、生成證書籤到請求文件server.csr
openssl req -new -key server.key -out server.csr
- 3、用ca證書籤發server.crt
openssl x509 -req -sha256 -days 3650 -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt
生成client.crt 證書
- 1、證書私鑰(key文件)
genrsa -out client.key 2048
# 長度爲2048 - 2、生成證書籤到請求文件server.csr
openssl req -new -key client.key -out client.csr
- 3、用ca證書籤發client.crt
openssl x509 -req -sha256 -days 3650 -in client.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out client.crt
結果如下示:
對於 IIS 的設置
在 IIS 中,需要的是一個 PFX 文件,這個文件需要包含 key 和 crt。生成方法如下:
輸入 key 和 crt 文件,輸出 pfx 文件。
openssl pkcs12 -export -inkey server.key -in server.crt -out server.pfx
執行上述命令時,會要求輸入一個 export 密碼。 該密碼在導入 pfx 文件時需要。
在 IIS 中選擇“導入證書”,文件選擇該 pfx 文件,密碼填寫導出時的密碼,導入位置選擇“個人”。
如要修改證書的 friendly name ,則在證書管理中修改(需要從 mmc 中打開計算機級別的證書管理器)