天天看點

數字證書的生成和簽發

數字證書的生成和簽發

  • 生成伺服器端的私鑰
    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
               

繼續閱讀