我在一个文件中有一个PKCS1私钥,我使用以下命令加载它
b, err := ioutil.ReadFile(path)
if err != nil {
return nil, err
}然后,我尝试将其转换为私钥对象
block, _ := pem.Decode(b)
der, err := x509.DecryptPEMBlock(block, []byte("qwerty"))
if err != nil {
return nil, err
}
bytes := pem.EncodeToMemory(&pem.Block{Type: "RSA PRIVATE KEY", Bytes: der})
return x509.ParsePKCS1PrivateKey(bytes)但此代码在DecryptPEMBlock中抛出异常
x509: no DEK-Info header in block我在golang没有找到任何关于这方面的文档
发布于 2017-06-23 01:53:51
我的私钥文件有一个错误,下面是一个有效的代码
func GetPrivateKey(path string) (*rsa.PrivateKey, error) {
b, err := ioutil.ReadFile(path)
if err != nil {
return nil, err
}
block, _ := pem.Decode(b)
der, err := x509.DecryptPEMBlock(block, []byte(*PrivateKeyPassword))
if err != nil {
return nil, err
}
return x509.ParsePKCS1PrivateKey(der)
}P.S.Go确实有一个用于解密PKCS1私钥的包,但没有用于PKCS8的包。
https://stackoverflow.com/questions/44673695
复制相似问题