如何查看.pem证书的内容


128

我正在使用Java keytool。我已经.pem从密钥库中导出了自签名证书。是否有命令直接从.pem文件(而不是密钥库中的证书)查看证书详细信息?


Portecle对此也非常有用:portecle.sourceforge.net
endo64

Answers:


134

使用如下-printcert命令:

keytool -printcert -file certificate.pem

23
我收到错误java.lang.Exception:无法解析输入
maxisme 2014年

10
@Maximilian它可能发生在APNS证书上,该证书将私钥和证书合并为一个.pem。使用文本编辑器将它们分成2个文件,以上命令将起作用。(提示:将-- BEGIN CERTIFICATE --一行-- END CERTIFICATE --一行复制到新文件)
Raptor

1
需要Java(jdk或jre)
Pieter

检查您的pem文件的名称。
tksilicon

246

keytool除了使用之外,您还可以使用以下命令

openssl x509 -in certificate.pem -text

如果已openssl安装,则此方法适用于任何x509 .pem文件。


7
其实,keytool出错了与java.lang.Exception: Failed to parse input一些PEMS系统,但是这个工作对于所有的人
乔鲍托特

如果你只想要别名:openssl x509 -in file.pem -text | grep -A 1 'Alternative Name'
qräbnö

1
就我而言,我必须将“ x509”更改为“ rsa”,所以我猜它取决于.pem内容。我使用file命令知道它是“ rsa”而不是“ x509”(例如file xyz.pem)。
MegaTux

5
@megatux PEM文件可以包含几种不同类型的数据,x509即证书rsa的格式,公钥/私钥对的格式。
铝箔
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.