You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Go语言中如何将*x509.Certificate转换为[]byte字节切片

如何将*x509.Certificate转换为非PEM编码的[]byte?

问题描述

我已经通过以下代码获取了一个*x509.Certificate类型的证书对象:

cert := parseCert("cert.pem") // returns *x509.Certificate

现在需要把这个cert转换为[]byte,要求和x509.CreateCertificate(...)返回的结果格式一致——也就是非PEM编码的原始证书字节。请问该怎么实现?

解决方案

直接使用x509.Certificate结构体的Raw字段即可,这个字段存储的就是证书的DER编码字节切片,和x509.CreateCertificate返回的格式完全一致:

certByte := cert.Raw

补充说明

  • x509.CreateCertificate返回的是证书的DER编码字节,这是二进制格式的证书原始表示,没有PEM的Base64编码和-----BEGIN CERTIFICATE-----这类头尾标识。
  • 当你解析PEM格式的证书时,解析过程已经自动将PEM解码为DER格式,并把结果存入cert.Raw字段,直接取用就能得到符合需求的字节切片。

内容的提问来源于stack exchange,提问作者Md. A. A. Apu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 14:13:16