我正在使用crypto/rsa,并试图找到一种 正确 保存和加载密钥的方法。有没有建立一个正确的方式[]byte从rsa.PrivateKey。如果是这样,有没有办法正确地做到这一点rsa.PublicKey?
crypto/rsa
[]byte
rsa.PrivateKey
rsa.PublicKey
非常感谢大家。
您需要某种格式来编组密钥。可在以下位置找到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), }, )
您可以在此处找到完整的示例。