一、生成CA證書服務器
# 生成 CA 私鑰spa openssl genrsa -out ca.key 2048server # X.509 Certificate Signing Request (CSR) Management.ssl openssl req -new -sha256 -key ca.key -out ca.csrci # X.509 Certificate Data Management.部署 openssl x509 -req -in ca.csr -signkey ca.key -sha256 -out ca.crt -days 3650openssl |
第二個命令執行以後須要輸入各項參數,特別注意的是Organization Name (eg, company)參數,設置成不同的,好比MyCA、MyServer、MyClient等等域名
二、生成服務端/客戶端密匙io
# 生成服務器端私鑰table
openssl genrsa -out server.key 2048
# 生成服務器端公鑰
openssl rsa -in server.key -pubout -out server.pem
# 生成客戶端私鑰
openssl genrsa -out client.key 2048
# 生成客戶端公鑰
openssl rsa -in client.key -pubout -out client.pem
三、向上面的CA申請簽名證書
# 服務器端須要向 CA 機構申請簽名證書,在申請簽名證書以前依然是建立本身的 CSR 文件,特別注意common name屬性要設置成你須要啓用https的域名,好比本地就是localhost,若是是部署到服務器,就要是對應的域名,好比open.xxxx.com
openssl req -new -sha256 -key server.key -out server.csr
# 向本身的 CA 機構申請證書,簽名過程須要 CA 的證書和私鑰參與,最終頒發一個帶有 CA 簽名的證書
openssl x509 -req -CA ca.crt -CAkey ca.key -CAcreateserial -in server.csr -sha256 -out server.crt -days 3650
# 把證書導出爲p12格式,須要設置導入密碼
openssl pkcs12 -export -clcerts -in server.crt -inkey server.key -out server.p12
# client 端
openssl req -new -sha256 -key client.key -out client.csr
# client 端到 CA 簽名
openssl x509 -req -CA ca.crt -CAkey ca.key -CAcreateserial -in client.csr -sha256 -out client.crt -days 3650
# 把證書導出爲p12格式,須要設置導入密碼
openssl pkcs12 -export -clcerts -in client.crt -inkey client.key -out client.p12
通常client端的證書是不須要導入的,雙向認證的時候才須要,server端的導入直接雙擊server.p12就好了,輸入密碼導入:
導入成功以後,就能夠在IIS中配置這個證書,啓用HTTPS了:
你就看到https啓用成功了