If I have an *x509.Certificate
object, how can I extract the public key base64 string representation out of it?
关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率

首页/
已采纳
如何在Go中从x509证书公钥中获取字符串?
收起
- 写回答
- 好问题 0 提建议
- 关注问题
微信扫一扫
点击复制链接分享
- 邀请回答
- 编辑 收藏 删除 结题
- 收藏 举报
1条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
dongzhuo8210 2019-05-10 02:13关注NOTE: Jump to #3 if you already have the
x509.Certificate
object.
You would need to do the following:
- Decode the PEM with
pem.Decode()
.
block, _ := pem.Decode([]byte(certPEM))
- Parse the certificate with
x509.ParseCertificate()
.
cert, _ := x509.ParseCertificate(block.Bytes)
- Marshal the Public key with
x509.MarshalPKIXPublicKey()
.
publicKeyDer, _ := x509.MarshalPKIXPublicKey(cert.PublicKey)
- Encode it in a PEM encoded structure with
pem.EncodeToMemory()
.
- publicKeyBlock := pem.Block{
- Type: "PUBLIC KEY",
- Bytes: publicKeyDer,
- }
- publicKeyPem := string(pem.EncodeToMemory(&publicKeyBlock))
Run it on Go Playground
You can confirm the result if you copy the certificate in the example to a file
cert.pem
with the command:openssl x509 -inform pem -in cert.pem -pubkey -noout
You should get the same result!
本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏举报微信扫一扫
点击复制链接分享
编辑预览轻敲空格完成输入- 显示为
- 卡片
- 标题
- 链接
评论按下Enter换行,Ctrl+Enter发表内容
编辑
预览

轻敲空格完成输入
- 显示为
- 卡片
- 标题
- 链接
报告相同问题?
提交
- 2021-12-27 01:58冰★羽翼的博客 GO语言:从证书字符串解析公钥,RSA算法加密数据 最近遇到个需求,需要将参数进行RSA加密之后,再传输,第一次搞RSA加密,记录一下 提供了证书字符串(不是文件,是一串字符串),需要从证书字符串中解析出公钥,在...
- 2015-11-16 14:47zhangfeng1133的博客 X509证书中RSA公钥的提取与载入 2006-08-31 18:07:29 分类: 由于项目需要,我计划利用openssl开发一个基本的CA,实现证书的发放等功能。在项目模型中公私钥对是用户自己产生的,并且以16进制...
- 2021-04-19 12:06三雷科技的博客 由CA签发,证明证书持有人身份的,包含证书持有人公钥,及其他认证信息(DN)的实体。 证书 = 元数据(信息)+签名密文(对信息的摘要,使用CA私钥加密) 证书内容 证书的版本信息 证书的序列号,每个证书都有一个...
- 2021-03-31 06:34盼儿哥的博客 openssl x509 -inform der -in rongbao.cer -pubkey -out rbao.pem 生成的rbao.pem内容: -----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAudFyFxfFnCCvV2GhbCHE .... kQIDAQAB -----END ...
- 2013-05-17 08:18anddy926的博客 由于项目需要,我计划利用openssl开发一个基本的...在项目模型中公私钥对是用户自己产生的,并且以16进制数的形似提交给CA。我们知道,通常利用openssl颁发证书时,公私钥对往往也是由openssl产生的,比如利用
- 2016-10-25 15:27.NET跨平台的博客 我手中的灯笼 使眼前黑暗的路途与我为敌Program.cs代码: class Program { static void Main(string[] args) ... Console.WriteLine("X509证书实用程序"); Console.WriteLine("----------------------
- 2018-01-25 09:07娃都会打酱油了的博客 RSA的私钥签名公钥验签可以见http://blog.csdn.net/starfd/article/details/51917916,所以这里就没提供对应代码,具体代码如下: using Org.BouncyCastle.Asn1;... using Org.BouncyCastle.Asn1.X509; ...
- 2019-11-07 06:09thyme.sun的博客 解析支付宝公钥证书 func GetAlipayPublicKey(certPath string) (publicKey *rsa.PublicKey) { certContent, _ := ioutil.ReadFile(certPath) certDecode, _ := pem.Decode(certContent) x509Cert, err := x509....
- 2021-04-19 17:43水兰兰的博客 简介: 前一段时间,跟农商行对接支付接口,突然来了一个pfx格式的证书,我当时就懵逼了,因为网上针对于golang解析pfx的文章根本就没有用,只能自己研究了,如果对你有帮助的话,请点个赞吧package mainfunc main ...
- 2019-09-28 09:16weixin_38168728的博客 X.509数字证书的结构与解析 1、什么叫数字签名 数字签名: 将报文按双方约定的HASH算法计算得到一个固定位数的报文摘要。在数学上保证:只要改动报文中任何一位,重新计算出的报文摘要值就会与原先的值不相符。...
- 没有解决我的问题, 去提问
联系我们(工作时间:8:30-22:00)
400-660-0108kefu@csdn.net在线客服
- 京ICP备19004658号
- 经营性网站备案信息
公安备案号11010502030143
- 营业执照
- 北京互联网违法和不良信息举报中心
- 家长监护
- 中国互联网举报中心
- 网络110报警服务
- Chrome商店下载
- 账号管理规范
- 版权与免责声明
- 版权申诉
- 出版物许可证
- ©1999-2025北京创新乐知网络技术有限公司