为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
RISEBY 2022-10-17 16:53:38
“openssl rsa -in prevate.pem -outform DER -pubout -out public.der”
查看完整描述

1 回答

?
阿晨1998

TA贡献2037条经验 获得超6个赞

您可能会考虑一个类似的库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 编码密钥。
元帅部分没有变化。


查看完整回答
反对 回复 2022-10-17
  • 1 回答
  • 0 关注
  • 87 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信