为了账号安全,请及时绑定邮箱和手机立即绑定

golang - 编组 PKCS8 私钥?

golang - 编组 PKCS8 私钥?

Go
宝慕林4294392 2021-11-22 19:30:58
有没有办法在 go 1.5 中编组 PKCS8 私钥?例如类似于或从x509.MarshalPKCS1PrivateKey什么开始?
查看完整描述

2 回答

?
慕桂英546537

TA贡献1848条经验 获得超10个赞

有趣的是,没有标准功能可以做到这一点,但这里有一个自定义解决方案:


type pkcs8Key struct {

    Version             int

    PrivateKeyAlgorithm []asn1.ObjectIdentifier

    PrivateKey          []byte

}



func rsa2pkcs8(key *rsa.PrivateKey) ([]byte, error) {

    var pkey pkcs8Key

    pkey.Version = 0 

    pkey.PrivateKeyAlgorithm = make([]asn1.ObjectIdentifier, 1)

    pkey.PrivateKeyAlgorithm[0] = asn1.ObjectIdentifier{1, 2, 840, 113549, 1, 1, 1}

    pkey.PrivateKey = x509.MarshalPKCS1PrivateKey(key)


    return asn1.Marshal(pkey)

}


查看完整回答
反对 回复 2021-11-22
?
忽然笑

TA贡献1806条经验 获得超5个赞

自从上面的回答写好了,go 1.10 已经发布了一个x509.MarshalPKCS8PrivateKey方法。


查看完整回答
反对 回复 2021-11-22
  • 2 回答
  • 0 关注
  • 252 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信