我正在使用crypto/rsa,并试图找到一种正确保存和加载密钥的方法。有没有建立一个正确的方式[]byte从rsa.PrivateKey。如果是这样,是否有办法正确地做到这一点rsa.PublicKey?
3 回答
ABOUTYOU
TA贡献1812条经验 获得超5个赞
由于您的问题的公钥部分未得到回答,而我遇到了同样的问题并已解决,因此它是:
注意&参数前面的MarshalPKIXPublicKey
Priv := rsa.GenerateKey(rand.Reader, 4096)
pubASN1, err := x509.MarshalPKIXPublicKey(&Priv.PublicKey)
if err != nil {
// do something about it
}
pubBytes := pem.EncodeToMemory(&pem.Block{
Type: "RSA PUBLIC KEY",
Bytes: pubASN1,
})
ioutil.WriteFile("key.pub", pubBytes, 0644)
相关读物:
MarshalPKIXPublicKey(pub interface {})([] byte,error)godoc
EncodeToMemory(b * Block)[] byte godoc
封锁godoc
PS:MarshalPKIXPublicKey也接受ECDSA密钥,适当地调整pem标头。
- 3 回答
- 0 关注
- 173 浏览
添加回答
举报
0/150
提交
取消