如何在 Linux 中使用 OpenSSL 命令检查证书?

如果你管理一个网站或服务器,确保 SSL 证书有效并正确配置是重中之重。 其中一种方法是使用 OpenSSL,这是一种流行的开源加密工具。

您可以使用 OpenSSL 检查证书过期日期、签发人和主题。 在本文中,我们将向你展示如何在 Linux 中使用 OpenSSL命令检查证书。 无论你是网络开发人员、系统管理员,还是仅仅对 SSL 感到好奇,本指南都将提供使用 OpenSSL 检查证书的准确步骤和命令行。


目录

  1. 如何检查 OpenSSL 版本?
  2. 如何查看证书详情
  3. 查看 SSL 证书本身(编码)
  4. 检查密钥是否与证书匹配
  5. 检查 SSL 证书的颁发者
  6. 检查 SSL 证书的颁发对象
  7. 在 Linux 中检查 SSL 证书有效性
  8. 显示 SSL 证书的所有上述信息

如何检查 OpenSSL 版本?

大多数 Linux 系统都预装了OpenSSL,但最好还是确保有最新的运行版本。 您可以运行以下命令检查 OpenSSL 版本:

openssl 版本 -a

检查 OpenSSL 版本

Linux 中的证书文件默认位于/etc/pki/tls/certs文件夹中,有时也位于特定应用程序文件夹中,如 Apache 的/etc/httpd文件夹。 这些文件一般使用.pem或 .crt 扩展名,可能会命名为yourdomain.pemyourdomain.crt,但有时也会使用通用的 “服务器 “文件名。

如果你已经申请了SSL 证书并将其安装在服务器上,你应该已经知道它的位置和文件名。


如何查看证书详情

您可以使用 OpenSSL 分别或一次性检查证书有效性、签发者和主题。 确保您可以访问服务器和 SSH 终端。

OpenSSL 提供了丰富的命令来生成、安装和管理证书。 要检查特定证书的详细信息,请运行以下命令:

openssl x509 -in /root/mycertificate.crt -text -noout

使用此 OpenSSL 命令检查证书有效期、主题、签发人、密钥详情和签名算法。 以下是您应该看到的内容:

查看证书详情

查看 SSL 证书本身(编码)

OpenSSL 允许你以原始编码格式查看 SSL 证书。 运行下面的命令来显示它:

$ echo | openssl s_client -servername howtouselinux.com -connect yourplc.com:443 2>/dev/null | openssl x509

查看 SSL 证书

检查密钥是否与证书匹配

要验证公钥和私钥是否匹配,需要从每个文件中提取公钥,并为其生成哈希输出。 所有三个文件应共享相同的公钥和哈希值。 下面介绍如何使用 OpenSSL 检查证书和密钥的详细信息。 使用以下命令生成每个文件公钥的哈希值:

openssl pkey -pubout -in privateKey.key | openssl sha256

公共钥匙

openssl req -pubkey -in CSR.csr -noout | openssl sha256

公钥 CSR

openssl x509 -pubkey -in certificate.crt -noout | openssl sha256

公钥证书

检查 SSL 证书的颁发者

如果要检查 SSL 证书签发者,请运行下面的命令行。 它会显示签署证书的证书颁发机构。

echo | openssl s_client -servername yourplc.com -connect yourplc.com:443 2>/dev/null | openssl x509 -noout -issuer


检查 SSL 证书的颁发对象

您还可以检查 SSL 证书的主题。 根据验证类型的不同,您将只看到通用名称,或看到公司的正式名称。

$ echo | openssl s_client -servername .com -connect howtoyourplcuselinux.com:443 2>/dev/null | openssl x509 -noout -subject


在 Linux 中检查 SSL 证书有效性

了解 SSL 证书的到期时间非常重要,这样你就可以提前更新证书,避免潜在的网站中断和数据泄露。 下面介绍如何在 Linux 中检查 SSL 证书的过期日期:

$ echo | openssl s_client -servername howtouselinux.com -connect yourplc.com:443 2>/dev/null | openssl x509 -noout -dates


显示 SSL 证书的所有上述信息

您也可以使用 OpenSSL 命令来检查证书签发者、主题和有效期,命令如下:

$ echo | openssl s_client -servername howtouselinux.com -connect yourplc.com:443 2>/dev/null | openssl x509 -noout -issuer -subject -dates

全部证书信息

最后的话

如果 SSL 连接出了问题,验证证书详细信息是找到罪魁祸首的第一步。 在 OpenSSL 中,有一个强大的工具可以执行各种检查,从检查证书签发者到分析技术数据以及查看证书过期时间。 OpenSSL 与 Linux 集成,可通过灵活的命令行控制 SSL 的安装。

立即订购 SSL 证书, 可节省 10% 的费用!

快速发行, 强大加密, 99.99% 的浏览器信任度, 专业支持和 25 天退款保证. 优惠券代码 SAVE10

撰写人

经验丰富的内容撰稿人, 擅长 SSL 证书. 将复杂的网络安全主题转化为清晰, 引人入胜的内容. 通过有影响力的叙述, 为提高数字安全作出贡献.