Ssl-Certificate

如何從 pkcs12 容器中刪除私鑰密碼?

  • January 25, 2022
  1. 我使用 Chrome 的 SSL/export 命令提取了證書。
  2. 然後將其作為 openvpn 的輸入提供 - 在 openvpn 的配置中:

pkcs12 "path/to/pkcs12_container" 3. 呼叫openvpn ~/openvp_config時要求輸入私鑰密碼(我在使用 Chrome 導出時輸入的密碼):

Enter Private Key Password:... 4. 我想刪除此密碼請求。

問題:如何從pkcs12中刪除私鑰的密碼?

也就是說,創建不需要密碼的 pkcs12 文件。

(似乎我在一年前已經以某種方式做到了這一點,現在忘記了。該死的。)

它可以通過各種openssl呼叫來實現。

  • PASSWORD 是您目前的密碼
  • YourPKCSFile 是您要轉換的文件
  • NewPKCSWithoutPassphraseFile 是沒有密碼的 PKCS12 的目標文件

首先,提取證書:

$ openssl pkcs12 -clcerts -nokeys -in "YourPKCSFile" \
     -out certificate.crt -password pass:PASSWORD -passin pass:PASSWORD

二、CA密鑰:

$ openssl pkcs12 -cacerts -nokeys -in "YourPKCSFile" \
     -out ca-cert.ca -password pass:PASSWORD -passin pass:PASSWORD

現在,私鑰:

$ openssl pkcs12 -nocerts -in "YourPKCSFile" \
     -out private.key -password pass:PASSWORD -passin pass:PASSWORD \
     -passout pass:TemporaryPassword

現在刪除密碼:

$ openssl rsa -in private.key -out "NewKeyFile.key" \
     -passin pass:TemporaryPassword

為新的 PKCS-File 組合起來:

$ cat "NewKeyFile.key"  \
     "certificate.crt" \
     "ca-cert.ca" > PEM.pem

並創建新文件:

$ openssl pkcs12 -export -nodes -CAfile ca-cert.ca \
     -in PEM.pem -out "NewPKCSWithoutPassphraseFile"

現在您有一個新的 PKCS12 密鑰文件,在私鑰部分沒有密碼。

引用自:https://serverfault.com/questions/515833