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

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

我尝试以这种方式在Go中阅读它:
block, _ := pem.Decode(key)
return x509.DecryptPEMBlock(block, password)

但是我收到一个错误消息:
x509: no DEK-Info header in block

但是,我不知道出了什么问题。我生成 key 错误还是使用了错误的库?我看到专门用于读取未加密的PKCS8文件的库,但没有专门用于加密的PKCS8文件的库。

有人有什么主意吗?

最佳答案

Go没有在标准库中解密PKCS8 key 的功能。

您可以使用此软件包:
https://github.com/youmark/pkcs8/blob/master/pkcs8.go#L103

09-25 21:23