【发布时间】:2019-12-11 23:24:18
【问题描述】:
我正在使用 golang ecdsa 包:https://golang.org/pkg/crypto/ecdsa/
我有公钥结构 (https://golang.org/pkg/crypto/ecdsa/#PublicKey),我正在尝试将它们转换为 PEM 文件以用于其他应用程序。
有人知道怎么做吗?
【问题讨论】:
标签: go cryptography pem ecdsa
我正在使用 golang ecdsa 包:https://golang.org/pkg/crypto/ecdsa/
我有公钥结构 (https://golang.org/pkg/crypto/ecdsa/#PublicKey),我正在尝试将它们转换为 PEM 文件以用于其他应用程序。
有人知道怎么做吗?
【问题讨论】:
标签: go cryptography pem ecdsa
你可以检查这个功能
https://github.com/gtank/cryptopasta/blob/master/marshal.go
这似乎是使用 pem 进行编码 特别在这里
使用
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
}
【讨论】: