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

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

  1. 使用golang的rsa包生成的私钥默认是pkcs1的.如果将pkcs1转化为pkcs8格式的


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
}
【热门文章】
【热门文章】