小编典典

在磁盘上保存和加载crypto / rsa私钥

go

我正在使用crypto/rsa,并试图找到一种 正确
保存和加载密钥的方法。有没有建立一个正确的方式[]bytersa.PrivateKey。如果是这样,有没有办法正确地做到这一点rsa.PublicKey

非常感谢大家。


阅读 264

收藏
2020-07-02

共1个答案

小编典典

您需要某种格式来编组密钥。可在以下位置找到Go标准库支持的一种格式:http
:
//golang.org/pkg/crypto/x509/#MarshalPKCS1PrivateKey

func MarshalPKCS1PrivateKey(key *rsa.PrivateKey) []byte

逆函数为http://golang.org/pkg/crypto/x509/#ParsePKCS1PrivateKey

func ParsePKCS1PrivateKey(der []byte) (key *rsa.PrivateKey, err error)

但是,将封送的密钥编码为PEM文件是相对标准的。

pemdata := pem.EncodeToMemory(
    &pem.Block{
        Type: "RSA PRIVATE KEY",
        Bytes: x509.MarshalPKCS1PrivateKey(key),
    },
)

您可以在此处找到完整的示例。

2020-07-02