首頁  >  文章  >  後端開發  >  為什麼在 Go 中解密我的 PKCS8 私鑰時出現「x509:區塊中沒有 DEK-Info header」錯誤?

為什麼在 Go 中解密我的 PKCS8 私鑰時出現「x509:區塊中沒有 DEK-Info header」錯誤?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-01 00:23:02609瀏覽

Why Am I Getting

排查加密私鑰解密錯誤

嘗試在Go 中讀取加密的PKCS8 私鑰檔案時,開發者可能會遇到以下情況錯誤:「x509:區塊中沒有DEK-Info 標頭。」此錯誤表示庫無法解密金鑰。

使用者提供了使用OpenSSL 的範例金鑰產生過程:

openssl genrsa -out file.pem -passout pass:file -aes256 1024
openssl pkcs8 -topk8 -inform pem -in file.pem -outform pem -out filePKCS8.pem

並嘗試在Go 中解密金鑰:

<code class="go">block, _ := pem.Decode(key)
return x509.DecryptPEMBlock(block, password)</code>

然而,標準Go 庫缺少解密加密PKCS8 金鑰的函數。要解決此問題,請考慮使用第三方軟體包,例如:

<code class="go">https://github.com/youmark/pkcs8/blob/master/pkcs8.go#L103</code>

此軟體包提供了在 Go 中解密加密 PKCS8 金鑰所需的功能。

以上是為什麼在 Go 中解密我的 PKCS8 私鑰時出現「x509:區塊中沒有 DEK-Info header」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn