數字證書的生成和簽發
- 生成伺服器端的私鑰
openssl genrsa -des3 -out server.key 1024
注意:
執行上面的指令會提示輸入密碼,用于加密私鑰檔案。可以使用下面的指令去除掉私鑰檔案的密碼保護:
openssl rsa -in server.key -out server.key
- 生成服務端 CSR(Certificate Signing Request)
openssl req -new -key server.key -out server.csr -config openssl.cnf
- 生成用戶端私鑰和 CSR
openssl genrsa -des3 -out client.key 1024 openssl req -new -key client.key -out client.csr -config openssl.cnf
- 生成 CA 證書
CSR 檔案經過 CA 簽名後生成證書,可以将我們的 CSR 檔案發送到可信的 CA 機構進行驗證,但大多情況下需要支付費用。通過下面的方法可以生成自己的 CA 證書。
openssl req -new -x509 -keyout ca.key -out ca.crt -config openssl.cnf
- CA 簽名
Openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config openssl.cnf Openssl ca -in client.csr -out client.crt -cert ca.crt -keyfile ca.key -config openssl.cn\f
-
合并證書和私鑰檔案
通過上面的過程,可以得到 ca.crt、client.crt、client.key、ca.crt、server.crt、server.key 這幾個檔案,可以将 .crt 和 .key 合并到一個 .pem 檔案:
cat client.crt client.key > client.pem cat server.crt server.key > server.pem
- 生成 PKCS12 格式證書
openssl pkcs12 -export -inkey client.key -in client.crt -out client.p12