502
英雄聯盟
生成證書__證書管理_用戶指南_負載均衡-阿裏雲
概述
上傳證書前,您需要生成相應的證書,包括服務器證書、CA證書、客戶端證書。
服務器證書:用於用戶瀏覽器檢查服務器發送的證書是否是由自己信賴的中心簽發的,服務器證書可以到阿裏雲雲盾證書服務購買,也可以到其他服務商處購買。服務器證書需要上傳到負載均衡的證書管理係統。
客戶端證書:用於證明客戶端用戶的身份,使得客戶端用戶在與服務器端通信時可以證明其真實身份。
CA 證書:服務器要求用戶瀏覽器發送客戶端證書,收到後服務器用 CA 證書驗證客戶端證書,如果沒有通過驗證,拒絕連接。開啟雙向認證功能後,CA 證書和服務器證書都需要上傳到負載均衡的證書管理係統。
操作步驟
生成服務器證書。您可以從雲盾 證書服務 購買並生成服務器證書,也可以到其他服務商處購買。
使用 openssl 生成自簽 CA 證書。
在 /root 目錄下新建 ca 文件夾,在 ca 文件夾下創建 4 個子文件夾:
$ sudo mkdir ca
$ cd ca
$ sudo mkdir newcerts private conf server
- newcerts 目錄將用於存放 CA 簽署過的數字證書(證書備份目錄);
- private 目錄用於存放 CA 的私鑰;
- conf 目錄用於存放一些簡化參數用的配置文件;
- server 目錄存放服務器證書文件。
在 conf 目錄下新建 openssl.conf 文件,並將其內容編輯如下:
運行以下命令生成私鑰 key 文件:
$ cd /root/ca
$ sudo openssl genrsa -out private/ca.key
輸出
Generating RSA private key, 512 bit long modulus
..++++++++++++
.++++++++++++
e is 65537 (0x10001)
private 目錄下有 ca.key 文件生成。openssl 默認生成 512 位的。一般是用 2048 位的。
運行以下命令,並按命令後的示例提供需要輸入的信息,然後回車,生成證書請求 csr 文件。
$ sudo openssl req -new -key private/ca.key -out private/ca.csr
信息提供示例:
提示輸入 Common Name 時,如果沒有域名,輸入 xxx.xxx.cn。
private 目錄下有 ca.csr 文件生成。
運行以下命令生成憑證 crt 文件:
$ sudo openssl x509 -req -days 365 -in private/ca.csr -signkey private/ca.key -out private/ca.crt
控製台輸出如下示例。private 目錄下有 ca.crt 文件生成。
運行以下命令為 key 設置起始序列號。可以是任意四個字符。
$ sudo echo FACE > serial
運行以下命令創建 CA 鍵庫:
$ sudo touch index.txt
運行以下命令為移除”用戶證書” 創建一個證書撤銷列表。
$ sudo openssl ca -gencrl -out /root/ca/private/ca.crl -crldays 7 -config "/root/ca/conf/openssl.conf"
輸出為:
Using configuration from /root/ca/conf/openssl.conf
private 目錄下有 ca.crl 文件生成。
生成客戶端證書。
- 運行以下命令創建存放 key 的目錄 users:
$ sudo mkdir users
運行以下命令為用戶創建一個 key:
$ sudo openssl genrsa -des3 -out /root/ca/users/client.key 1024
要求輸入 pass phrase,這個是當前 key 的口令,以防止本密鑰泄漏後被人盜用。兩次輸入同一個密碼,users 目錄下有 client.key 文件生成。
運行以下命令為 key 創建一個證書簽名請求 csr 文件:
$ sudo openssl req -new -key /root/ca/users/client.key -out /root/ca/users/client.csr
提示輸入 pass phrase,即 client.key 的口令。將上一步保存的 pass phrase 輸入後並回車。按照以下示例輸入要求提供的信息。A challenge password 是客戶端證書口令(請注意將它和 client.key 的口令區分開,這邊設置密碼為 test),可以與服務器端證書或者根證書口令一致。
users 目錄下有 client.csr 文件生成。
運行以下命令使用您私有的 CA key 為剛才的 key 簽名:
$ sudo openssl ca -in /root/ca/users/client.csr -cert /root/ca/private/ca.crt -keyfile /root/ca/private/ca.key -out /root/ca/users/client.crt -config "/root/ca/conf/openssl.conf"
控製台輸出為:
兩次確認提示都輸入 “y”,users 目錄下有 client.crt 文件生成。
運行以下命令將證書轉換為大多數瀏覽器都能識別的 PKCS12 文件:
$ sudo openssl pkcs12 -export -clcerts -in /root/ca/users/client.crt -inkey /root/ca/users/client.key -out /root/ca/users/client.p12
獲得如下提示時,輸入 client.key 的 pass phrase。
獲得如下提示時,輸入 Export Password,這個是客戶端證書的保護密碼(其作用類似於 步驟 3.iii 保存的口令),在客戶端安裝證書的時候需要輸入這個密碼。
users 目錄下有 client.p12 文件生成。
- 運行以下命令創建存放 key 的目錄 users:
最後更新:2016-12-20 13:19:10
上一篇:
配置轉發策略__實例管理_用戶指南_負載均衡-阿裏雲
下一篇:
轉換證書格式__證書管理_用戶指南_負載均衡-阿裏雲
常見錯誤說明__附錄_大數據計算服務-阿裏雲
發送短信接口__API使用手冊_短信服務-阿裏雲
接口文檔__Android_安全組件教程_移動安全-阿裏雲
運營商錯誤碼(聯通)__常見問題_短信服務-阿裏雲
設置短信模板__使用手冊_短信服務-阿裏雲
OSS 權限問題及排查__常見錯誤及排除_最佳實踐_對象存儲 OSS-阿裏雲
消息通知__操作指南_批量計算-阿裏雲
設備端快速接入(MQTT)__快速開始_阿裏雲物聯網套件-阿裏雲
查詢API調用流量數據__API管理相關接口_API_API 網關-阿裏雲
使用STS訪問__JavaScript-SDK_SDK 參考_對象存儲 OSS-阿裏雲