shell – 从.pem文件中读取公用名

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

谢谢

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

通用名称将是证书的主题或发行者的特征,并且可以由行识别

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

和之间有很多base64编码的文本.

如果.pem文件包含x509 certificate,
这应该做的伎俩:

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= /C=US/ST=NY/L=New York/O=Stack Exchange,Inc./CN=*.stackexchange.com

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...