gpt4 book ai didi

go - 如何从 go 中的 x509 证书公钥中获取字符串?

转载 作者:IT王子 更新时间:2023-10-29 02:00:42 33 4
gpt4 key购买 nike

如果我有一个 *x509.Certificate 对象,我如何从中提取公钥 base64 字符串表示形式?

最佳答案

注意:如果您已经拥有x509.Certificate 对象,请跳至#3


您需要执行以下操作:

  1. pem.Decode() 解码 PEM .
block, _ := pem.Decode([]byte(certPEM))
  1. x509.ParseCertificate() 解析证书.
cert, _ := x509.ParseCertificate(block.Bytes)
  1. x509.MarshalPKIXPublicKey() 编码公钥.
publicKeyDer, _ := x509.MarshalPKIXPublicKey(cert.PublicKey)
  1. 使用 pem.EncodeToMemory() 将其编码为 PEM 编码结构.
publicKeyBlock := pem.Block{
Type: "PUBLIC KEY",
Bytes: publicKeyDer,
}
publicKeyPem := string(pem.EncodeToMemory(&publicKeyBlock))

Go Playground 上运行它


如果将示例中的证书复制到文件 cert.pem 中,您可以确认结果,命令如下:

openssl x509 -inform pem -in cert.pem -pubkey -noout

你应该得到相同的结果!

关于go - 如何从 go 中的 x509 证书公钥中获取字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56074289/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com