10

有没有办法从我的外壳中的 .pem 文件中读取公用名?

谢谢

4

1 回答 1

18

首先,.pem扩展名仅指文件中使用的编码类型。

通用名称将是证书的主题或颁发者的一个特征,并且可以通过线条识别

$ grep CERTIFICATE f.pem
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----

以及介于两者之间的大量 base64 编码文本。

如果.pem文件包含x509 证书,这应该可以解决问题:

openssl x509 -in cacert.pem -noout -text

这将转储整个证书。该openssl x509 命令有几个选项可以抑制您不想看到的字段。您可以在手册页中找到那些解释,在TEXT OPTIONS

您还可以选择仅显示证书的“主题”:

openssl x509 -in cacert.pem -noout -subject

例子:

stackoverflow.com让我们直接从服务器获取证书

$ : | openssl s_client -connect stackoverflow.com:443 > f.pem 2>& 1 &&
      openssl x509 -in f.pem -noout -subject 2>& 1

输出:

Subject: CN = *.stackexchange.com
于 2012-08-03T14:45:20.220 回答