不溜過客 2025-07-04 13:05 采纳率: 97.9%
浏览 0
已采纳

如何查看PEM证书的详细信息?

**问题:如何使用 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
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已采纳回答 10月23日
  • 创建了问题 7月4日