**问题:如何使用 OpenSSL 命令行工具查看 PEM 格式证书的详细信息?**
在日常运维和开发中,经常需要查看 PEM 格式的 SSL/TLS 证书内容以确认其有效性、颁发者、主题、有效期等关键信息。OpenSSL 是一个广泛使用的开源工具库,提供了查看 PEM 证书详细信息的命令行方式。请问,如何使用 OpenSSL 查看 PEM 证书的具体内容?应使用什么命令,各参数的作用是什么?此外,若证书内容被加密或为 PKCS#8 格式私钥,又该如何处理?掌握这些操作对于排查证书错误、部署 HTTPS 服务等场景至关重要。
1条回答 默认 最新
璐寶 2025-10-21 23:19关注一、OpenSSL 简介与基本使用场景
OpenSSL 是一个功能强大的开源工具库,广泛用于处理 SSL/TLS 协议和加密操作。在运维和开发中,经常需要查看 PEM 格式的证书内容以确认其有效性、颁发者、主题等信息。
PEM(Privacy Enhanced Mail)是一种 Base64 编码的文本格式,常用于存储证书、私钥等内容。
二、查看 PEM 证书详细信息的基本命令
要查看 PEM 格式的 SSL/TLS 证书内容,可以使用以下 OpenSSL 命令:
openssl x509 -in certificate.pem -text -noout-in certificate.pem:指定输入的证书文件。-text:将证书内容以可读文本格式输出。-noout:不输出原始编码数据,仅显示解析后的内容。
三、常见参数详解与扩展用途
参数 说明 示例 -in指定输入文件路径 openssl x509 -in cert.pem ...-text以文本形式输出证书内容 openssl x509 -text -in cert.pem-noout禁止输出 DER 或 PEM 编码数据 openssl x509 -noout -text -in cert.pem-purpose显示证书的用途信息 openssl x509 -purpose -in cert.pem-dates仅显示证书的有效期 openssl x509 -dates -in cert.pem四、处理加密或 PKCS#8 格式私钥的方法
如果 PEM 文件包含的是加密的私钥,例如使用了密码保护,则需先解密后再查看内容:
openssl rsa -in encrypted.key -text -noout若提示需要输入密码,则输入正确密码即可。
对于 PKCS#8 格式的私钥,可使用如下命令查看:
openssl pkcs8 -in pkcs8.key -inform PEM -text -noout-inform PEM:指定输入格式为 PEM。-in pkcs8.key:PKCS#8 格式的私钥文件。
五、验证证书链与完整性检查
除了查看单个证书外,还可以使用 OpenSSL 验证整个证书链是否完整有效:
openssl verify -CAfile ca-bundle.pem certificate.pem其中:
-CAfile ca-bundle.pem:信任的根证书或中间证书集合。certificate.pem:待验证的证书文件。
该命令会返回证书是否被信任及验证结果。
六、流程图展示常用操作步骤
graph TD A[开始] --> B{是证书还是私钥?} B -- 证书 --> C[使用 openssl x509 查看] B -- 私钥 --> D{是否加密或PKCS#8格式?} D -- 是 --> E[使用 openssl rsa 或 pkcs8 查看] D -- 否 --> F[直接使用 openssl rsa 查看] C --> G[输出详细信息] E --> G F --> G本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报