从公钥文本生成PEM或CER文件

12

我手上有一份文档,其中包含一个公钥,格式如下:

-----BEGIN CERTIFICATE----- blah blah blah -----END CERTIFICATE-----

是否有工具可以将其转换为PEM或CER文件?我已经研究了openssl,并通过谷歌搜索了许多文章,但似乎大部分人都无法获得原始文本格式的密钥。


4
带有“-----BEGIN CERTIFICATE-----”标头的文件是包含证书的PEM文件。只需保存即可。 - pedrofb
3
我只是想说这是一个合理的问题。提问者并不应该因为不知道带有PEM头的文本是什么使PEM格式而受到负评。Stack Overflow 应该是一个友好的平台 - mikemaccana
1个回答

9

这已经是一个 .PEM 文件了,只是可能扩展名不匹配。PEM 基本上由头部和尾部组成,中间有 base64 编码(一些参数也可能在头部行之后编码)。您展示的是 PEM 头部和尾部行。


2
非常简单。非常感谢Maarten。 - Tony
2
挑剔一点:PEM是用虚线-BEGIN/END行包围可选标题,然后每76个字符(或者有时是4的较小倍数)换行的base64编码。带有过长行的类似PEM的文件在某些地方可能有效,但在其他地方可能会失败,这可能会带来麻烦。 - dave_thompson_085
1
谢谢 Dave。这个问题困扰了我。我没有意识到原因(base64带有换行符),但是通过将控制台中的文本回显到文件中,我找到了解决方法。 - Tony
我的表单验证包括对文件的 MIME 类型进行检查。如何添加它? - Yvonne Aburrow
文件本身没有设置 MIME 类型;您需要在操作系统中将扩展名映射到 MIME 类型,或者通过 HTTP 标头在客户端或服务器上设置它们。请注意,.pem 可能会映射到不同的类型,如证书、密钥、证书请求等。将 .cer 映射到证书更有意义。 - Maarten Bodewes
我在Python中看到另一个问题,即行尾实际上被包含为转义字符,即不是换行符,而是\n但是由两个字节组成。显然,在这种情况下,基于64位解码或者头部查找可能会遇到困难,特别是在Python3中,字节字符串和字符字符串之间的区别更加明显。 - Maarten Bodewes

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接