golang rsa私钥如何转化为pkcs8格式

新手上路,请多包涵
  1. 使用golang的rsa包生成的私钥默认是pkcs1的.如果将pkcs1转化为pkcs8格式的

clipboard.png

阅读 9.9k
1 个回答
新手上路,请多包涵
func MarshalPKCS8PrivateKey(key *rsa.PrivateKey) []byte {
    info := struct {
        Version             int
        PrivateKeyAlgorithm []asn1.ObjectIdentifier
        PrivateKey          []byte
    }{}
    info.Version = 0
    info.PrivateKeyAlgorithm = make([]asn1.ObjectIdentifier, 1)
    info.PrivateKeyAlgorithm[0] = asn1.ObjectIdentifier{1, 2, 840, 113549, 1, 1, 1}
    info.PrivateKey = x509.MarshalPKCS1PrivateKey(key)

    k, err := asn1.Marshal(info)
    if err != nil {
        log.Panic(err.Error())
    }
    return k
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题