我正在尝试读取加密的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