[英]How to convert ECDSA Public Key to PEM Files
I'm using the golang ecdsa package: https://golang.org/pkg/crypto/ecdsa/我正在使用 golang ecdsa 包: https ://golang.org/pkg/crypto/ecdsa/
I have public key structs ( https://golang.org/pkg/crypto/ecdsa/#PublicKey ) and I'm trying to convert them to PEM files for use in other application.我有公钥结构( https://golang.org/pkg/crypto/ecdsa/#PublicKey ),我正在尝试将它们转换为 PEM 文件以用于其他应用程序。
Anyone know how to do this?有人知道怎么做吗?
You can check this functions您可以检查此功能
https://github.com/gtank/cryptopasta/blob/master/marshal.go https://github.com/gtank/cryptopasta/blob/master/marshal.go
That seems to be encoding using pem Specially here这似乎是使用 pem 编码特别是这里
Using使用
import (
"crypto/ecdsa"
"crypto/x509"
"encoding/base64"
"encoding/pem"
"errors"
"fmt"
)
// EncodePrivateKey encodes an ECDSA private key to PEM format.
func EncodePrivateKey(key *ecdsa.PrivateKey) ([]byte, error) {
derKey, err := x509.MarshalECPrivateKey(key)
if err != nil {
return nil, err
}
keyBlock := &pem.Block{
Type: "EC PRIVATE KEY",
Bytes: derKey,
}
return pem.EncodeToMemory(keyBlock), nil
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.