如何在golang中创建.der文件与openssl相同



"openssl rsa-in-previate.pem-ofform DER-pubout-out public.DER";

您可以考虑像google/trillian这样的库,它确实包含MustMarshalPublicPEMToDER(keyPEM string) []byte函数。

// MustMarshalPublicPEMToDER reads a PEM-encoded public key and returns it in DER encoding.
// If an error occurs, it panics.
func MustMarshalPublicPEMToDER(keyPEM string) []byte {
block, _ := pem.Decode([]byte(keyPEM))
key, err := x509.ParsePKIXPublicKey(block.Bytes)
if err != nil {
panic(err)
}
keyDER, err := x509.MarshalPKIXPublicKey(key)
if err != nil {
panic(err)
}
return keyDER
}

正如该函数的注释所示,它读取一个PEM编码的公钥。

正如Topaco所指出的,您需要crypto/x509#ParsePKCS8PrivateKey才能读取私人PKCS#8 PEM编码的密钥
封送部分不会更改。

最新更新