登录
首页 >  Golang >  Go问答

如何在 Golang 中生成与 OpenSSL 相同的 .der 文件

来源:stackoverflow

时间:2024-02-21 18:15:23 206浏览 收藏

珍惜时间,勤奋学习!今天给大家带来《如何在 Golang 中生成与 OpenSSL 相同的 .der 文件》,正文内容主要涉及到等等,如果你正在学习Golang,或者是对Golang有疑问,欢迎大家关注我!后面我会持续更新相关内容的,希望都能帮到正在学习的大家!

问题内容

“openssl rsa -in prevate.pem -outform 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 编码密钥。
marshal 部分不变。

今天关于《如何在 Golang 中生成与 OpenSSL 相同的 .der 文件》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>