尝试在 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中文网其他相关文章!