嗨我对所有这个openSSL和PEM stuf都有点新意,所以我想我会问你这里的人。我有一个像这样的文本(X509)格式的证书,例如
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
1f:19:f6:de:35:dd:63:a1:42:91:8a:d5:2c:c0:ab:12
Signature Algorithm: PKCS #1 SHA-1 With RSA Encryption
Issuer: "CN=Thawte SGC CA,O=Thawte Consulting (Pty) Ltd.,C=ZA"
Validity:
Not Before: Fri Dec 18 00:00:00 2009
Not After : Sun Dec 18 23:59:59 2011
Subject: "CN=mail.google.com,O=Google Inc,L=Mountain View,ST=Californ
ia,C=US"
............................................
............................................
如何将此转换为.pem文件以供openssl了解,以便我可以验证证书?任何想法/帮助/建议将不胜感激。非常感谢所有人。
此致 哈里
答案 0 :(得分:6)
如果您拥有的是文本形式的证书(希望具有公钥模数和指数以及签名的详细信息),则您将不得不重建ASN.1结构及其DER格式(PEM)表示是DER形式的base-64编码。
您还必须重建证书中的确切扩展名列表。我知道的大多数文本表单(例如,openssl x509 -text
的输出或浏览器的显示工具)将根据描述这些扩展的规范将扩展的OID和值转换为更易于阅读的格式(如果已知)对这些工具的开发人员。
系统地以相反的顺序或多或少地执行它意味着阅读大量描述潜在扩展的规范,并弄清楚这些工具中出现的人类可读文本代表什么。 PKIX RFC是这些规范之一,阅读起来不是一件容易的事,特别是如果你是在现场开始的。
除此之外,您可能无法以与实际证书中完全相同的顺序形成ASN.1结构。如果您希望能够验证证书的签名,则需要能够重建精确的二进制结构。
在一般情况下,我认为这样做不太可能。
编辑:考虑到你所说的,你似乎在使用LibNSS的certutil:
尝试:
certutil -L -r -n "the-cert-nickname" -d . | openssl x509 -inform DER -outform PEM
答案 1 :(得分:3)
我不确定你在帖子中提出的内容
这似乎是现有证书的可视化
你是通过Windows查看的吗?即打开.der或.cer文件?
如果您进入详细信息选项卡,如果是这种情况,请按复制到文件并将其另存为pem
如果您需要保存格式为。