加密 – 尝试读取加密的私钥时“块中没有DEK-Info标头”

我正在尝试读取加密的PKCS8私钥文件.我生成了这样的键:

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

我尝试以这种方式阅读它:

block, _ := pem.Decode(key)
return x509.DecryptPEMBlock(block, password)

但我得到一个错误说:

x509: no DEK-Info header in block

但是,我无法弄清楚出了什么问题.我生成的密钥是错误的还是我使用了错误的库?我看到专门用于读取未加密的PKCS8文件的库,但没有专门用于加密的PKCS8文件.

有谁有想法吗?

最佳答案 Go没有在标准库中解密PKCS8密钥的功能.

你可以这个包:
https://github.com/youmark/pkcs8/blob/master/pkcs8.go#L103

点赞