如何用OpenSSL从X509 PEM证书文件中提取通用名称(CN)?
提取X509 PEM证书的通用名称(CN)
你可以通过openssl x509命令结合文本处理工具提取证书的CN,以下是几种实用方法:
从本地证书文件提取
假设你的证书文件名为cert.pem,执行以下命令:openssl x509 -in cert.pem -noout -subject | awk -F= '/CN/{print $NF}'参数说明:
-in cert.pem:指定目标证书文件路径-noout:禁止输出证书原始内容-subject:输出证书的主体字段信息- 后续
awk命令负责从输出中筛选并提取CN对应的值
直接处理证书文本内容
如果不想保存证书到文件,可通过管道直接处理:echo "-----BEGIN CERTIFICATE----- MIIDaaaaaaa== -----END CERTIFICATE-----" | openssl x509 -noout -subject | grep -oP 'CN=\K.*'这里用
grep的Perl正则特性,\K会忽略前面的CN=,直接输出后面的CN值,结果更精准。更规范的格式输出
若需要按标准格式输出主体信息后提取,可使用:openssl x509 -in cert.pem -noout -subject -nameopt RFC2253 | grep -oP 'CN=\K.*'-nameopt RFC2253参数会让主体信息以RFC2253标准格式输出,避免空格或换行干扰提取。
内容的提问来源于stack exchange,提问作者MasterMind
相关产品推荐
相关产品推荐

