Encryption

加密 p12 證書

  • January 19, 2016

我正在嘗試遵循此文件(請參閱創建程式碼簽名證書部分)來加密 p12 文件,但我總是收到相同的警告。

未知選項“Cert.p12”

難道我做錯了什麼?這是我正在執行的命令

openssl enc -aes-256-cbc -a -salt -k -in "Cert.p12" -out "Cert.p12.encrypted"

您的命令有錯誤。該-k選項需要密碼。

man enc頁面:

-k password 派生密鑰的密碼。這是為了與以前版本的 OpenSSL 兼容。由 -pass 參數取代。

如您所見,該選項已被該-pass選項取代。因此,對您來說更好的互動式命令將是(注意缺少該-k選項):

openssl enc aes-256-cbc -a -salt -in "Cert.p12" -out "Cert.p12.encrypted"

此時它將提示輸入密碼。如果您必須在腳本中輸入密碼(這很危險),請使用-k選項或更新的-pass pass:<your password>. 閱讀man opensslPASS PHRASE ARGUMENTS部分以了解更安全的密碼傳遞方式。

請注意,您可以刪除enc,這是在您指定密碼時隱含的-salt,預設情況下啟用。因此,您可以使用:

openssl aes-256-cbc -a -in "Cert.p12" -out "Cert.p12.encrypted"

的預設選項openssl是加密,因此您無需指示它這樣做。但是,要解密,您需要添加-d選項:

openssl aes-256-cbc -d -a -in "Cert.p12.encrypted" -out "Cert.p12.copy"

引用自:https://unix.stackexchange.com/questions/256038