解密加密的PKCS8 私鑰:解決「區塊中沒有DEK-Info 標頭」錯誤
嘗試讀取加密的PKCS8 Go中的私鑰,你可能會遇到錯誤「x509: no DEK-Info header in block.」此錯誤是由Go 標準庫內的固有限制引起的,該庫缺乏解密加密PKCS8 密鑰的功能。
解決問題
確保您不會產生金鑰不正確,請驗證您的OpenSSL 指令是否如下:
生成私鑰:
openssl genrsa -out file.pem -passout pass:file -aes256 1024
轉換為PKCS8 格式:
openssl pkcs8 -topk8 -inform pem -in file.pem -outform pem -out filePKCS8.pem
替代解決方案
雖然Go 標準庫不提供對解密加密PKCS8 密鑰的直接支持,但您可以使用外部套件例如:
此套件提供了專門設計用於解密加密PKCS8 金鑰的函數:
func DecryptPrivateKey(block *pem.Block, password []byte) (priv interface{}, err error)
透過使用此套件,您可以克服Go標準庫的限制,成功解密加密的PKCS8私鑰。
以上是如何在 Go 中解密加密的 PKCS8 私鑰並修復「區塊中沒有 DEK-Info 標頭」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!