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

“openssl rsa -in prevate.pem -outform DER -pubout -out public.der”



RISEBY
浏览 93回答 1
1回答

阿晨1998

您可能会考虑一个类似的库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 编码密钥。元帅部分没有变化。
打开App,查看更多内容
随时随地看视频慕课网APP