tls.X509KeyPair 弹出'无法在证书输入中找到任何 PEM 数据”错误
我正在尝试通过 golang x509 包为 https 服务器制作 tls 证书
我收到了这个错误
tls: failed to find any pem data in certificate input
经过一番研究,我像这样创建了我的证书
func generatecert() { ca := &x509.certificate{ serialnumber: big.newint(2023), subject: pkix.name{ organization: []string{"company"}, organizationalunit: []string{"lol"}, country: []string{"us"}, province: []string{""}, locality: []string{"ny"}, streetaddress: []string{"no street"}, postalcode: []string{"77777"}, }, notbefore: time.now(), notafter: time.now().adddate(10, 0, 0), subjectkeyid: []byte{1, 2, 3, 4, 5}, basicconstraintsvalid: true, isca: true, extkeyusage: []x509.extkeyusage{x509.extkeyusageclientauth, x509.extkeyusageserverauth}, keyusage: x509.keyusagedigitalsignature | x509.keyusagecertsign, } certpubl, certpriv, err := ed25519.generatekey(rand.reader) if err != nil { log.println("key generate failed", err) return } certcert, err := x509.createcertificate(rand.reader, ca, ca, certpubl, certpriv) if err != nil { log.println("create cert failed", err) return } out := &bytes.buffer{} //encoding cert certtestpem := &pem.block{type: "certificate", bytes: certcert} pem.encode(out, certtestpem) publiccert := out.bytes() certderblock, publiccert := pem.decode(publiccert) //check decoded cert print(certderblock.type, "\n") if publiccert != nil { print("publiccert nil\n") } //encoding private key out.reset() privatepem, _ := x509.marshalpkcs8privatekey(certpriv) pem.encode(out, &pem.block{type: "private key", bytes: privatepem}) privitkey := out.bytes() //check keypair _, err = tls.x509keypair(publiccert, privitkey) if err != nil { print(err.error()) } }
它显示如下错误
CERTIFICATE publicCert nil tls: failed to find any PEM data in certificate input
我尝试在 pem.encodetomemory 之后解码
pem.type 是正确的,但变量“publiccert”为零,我尝试添加 n 证书的开头,它什么也没做,但证书本身不为零,有人可以帮助我吗 p>
我该如何做才能使 tls 正常工作???
正确答案
这段代码有几个问题
publiccert := out.bytes()
现阶段检查publiccert
的内容显示了期望值。但以下语句将简单地覆盖 publiccert
:
certderblock, publiccert := pem.decode(publiccert)
通过检查此语句后的 publiccert
可以看到这一点。 如文档所述 publiccert
现在将在实际证书之后显示数据。
应该是这样
certderblock, _ := pem.decode(publiccert)
检查此更正语句后的 publiccert
内容再次显示预期值。
out.reset() privatepem, _ := x509.marshalpkcs8privatekey(certpriv) pem.encode(out, &pem.block{type: "private key", bytes: privatepem}) privitkey := out.bytes()
这会将预期值获取到 privitkey
中。但是,它将更改 privitkey
中。但是,它将更改 publiccert
,因为它只是 out
的一部分,并且 out
已更改操作。因此,out
现在将在开头包含 privitkey
,而不再是证书的开头 - 这反映在 publiccert
,因为它只是 out
的一部分,并且 out
已更改操作。因此,out
现在将在开头包含 privitkey
,而不再是证书的开头 - 这反映在
另请参阅bytes.buffer.bytes 的文档
切片仅在下一次缓冲区修改之前有效
(即,仅在下次调用 read、write、reset 或 truncate 等方法之前有效)因此,不仅仅是重置现有缓冲区
out.reset()
privitkey
创建一个新缓冲区,并为 publiccert
最好为 privitkey
创建一个新缓冲区,并为 保留现有缓冲区🎜
out = &bytes.Buffer{}
以上是tls.X509KeyPair 弹出'无法在证书输入中找到任何 PEM 数据”错误的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

LOL英雄联盟配置要求以下是一些可以参考的电脑配置要求:CPU(中央处理器):英特尔i3或更高版本,或AMDRyzen3或更高版本。英雄联盟并不需要超强的处理器,但建议选择较高版本的处理器以确保游戏流畅运行。以下是英雄联盟需要的电脑配置:CPU:英雄联盟对于CPU的要求不是很高,一般来说,可以选择i3或以上的处理器。显卡:英雄联盟对于显卡的要求也不是很高,但是如果想获得更好的游戏画质和稳定性,可以选择GTX1050或以上的显卡。CPU:最低配置为Intel(R)Core(TM)2DuoCPUE4

5000电脑组装主机配置?5000元预算,依据目前市面上的电脑行情来看,5000元预算的组装电脑配置已经比较不错了,基本上游戏和制图需求都能胜任,以下配置我认为不失所望:CPU:锐龙R7-3700X八核16线程散热器:天极风冰魔120一体水冷RGB主板:微星B550MPRO-VDHWIFI(4个内存槽)内存条:金士顿16G\DDR4\2666固态硬盘:三星970EVOplus-500GM.2-nvme2280显卡:微星GTX16504GD5VENTUSXSOC万图师电源:安钛克BP500额定50

500元电脑主机最强组装配置清单?配置清单如下:主板G4150元CPU四核Q660020元跑分27000(更高级的可以选Q950040元跑分30000)显卡HD7750100元跑分35000内存ddr32Gx250元跑分6500硬盘云储120G固态100元跑分6500散热器全新10元电源长城300W35元机箱小幻影P840元合计:360元左右选购:AOC27寸曲面显示器900元松人24寸曲面显示器500元鼠标+键盘海志品牌20元小音箱雅兰仕12元摄像头+麦克风29元400元电脑主机最强组装配置清

5000电脑配置清单表及价格它配备了20MB三级高速缓存。i512400F和i512490F的主要区别在于频率和L3缓存的不同。i512490F的频率提升了0.2Ghz,i512490F的频率提升了3倍。设计平面计算机组件配置列表价目表一般3500元左右装配i5电脑主机比较好,1000元以内只选择CPU。建议定位中端主流i5-9400F。由于F版没有内置核显,我们需要配合独立显卡才能正常使用。推荐希捷酷鱼Pro系列14TB7200转256MSATA3台式机机械硬盘。因为固态硬盘毕竟容量比较小,而

技嘉+A320M-S2H-CF+帮我看下+能装AMD+的+R5+5500+CPU吗技嘉A320主板是AMDAM4平台的主板,支持AMDRyzen系列处理器。而AMDRyzen55600处理器也是AM4插槽的处理器,因此理论上技嘉A320主板应该支持AMDRyzen55600处理器。a320不能跑满5600g。技嘉a320m不能上5600g处理器。该主板没有办法承受这么高的处理器,供电量是不可以运转的,只有使用相应型号才能保证使用,否则这是不可以使用一类的。只能使用相应的才可以。性能上a320主板

5000电脑组装主机配置?5000元预算,依据目前市面上的电脑行情来看,5000元预算的组装电脑配置已经比较不错了,基本上游戏和制图需求都能胜任,以下配置我认为不失所望:CPU:锐龙R7-3700X八核16线程散热器:天极风冰魔120一体水冷RGB主板:微星B550MPRO-VDHWIFI(4个内存槽)内存条:金士顿16G\DDR4\2666固态硬盘:三星970EVOplus-500GM.2-nvme2280显卡:微星GTX16504GD5VENTUSXSOC万图师电源:安钛克BP500额定50

acer的台式电脑怎么组装?Acer台式电脑的组装方法如下:打开机箱,将电源装入机箱,拧紧螺丝。将CPU安装到主板上,注意CPU上的针脚要与主板上的插槽对齐,拧紧CPU散热器的螺丝。将内存条安装到主板上,注意内存条上的凹凸位要与主板上的插槽对齐,用力下压,听到“啪”的一声后即可完成安装。将显卡、声卡、网卡等板卡安装到主板上,注意板卡上的螺丝要拧紧。将硬盘、光驱等存储设备安装到机箱内,注意螺丝要拧紧。将主板与机箱的连线连接好,包括电源线、硬盘线、光驱线等。最后将机箱盖盖上,拧紧螺丝即可完成组装。在

组装电脑配置推荐,2000元以内白菜价入门级配置有哪些?给你分享一下,我上个星期刚配好的一套配置,娱大师18万跑分,LOL最高画质无压力,吃鸡中等画质。CPUi39100f主板华硕B365(板U套餐1100元,你可以用B360更实惠)内存DDR48G2666一根220元硬盘三星981M.2接口256G288元显卡二手拆机铭瑄GTX9602G300元电源二手拆机航嘉450W85元散热风扇冰曼炫彩单风扇45元机箱随便买这套配置整体2000元左右,不管是现在的主流游戏还是设计和多开,都能够满足,而且如
