如果你管理一个网站或服务器,确保 SSL 证书有效并正确配置是重中之重。 其中一种方法是使用 OpenSSL,这是一种流行的开源加密工具。
您可以使用 OpenSSL 检查证书过期日期、签发人和主题。 在本文中,我们将向你展示如何在 Linux 中使用 OpenSSL命令检查证书。 无论你是网络开发人员、系统管理员,还是仅仅对 SSL 感到好奇,本指南都将提供使用 OpenSSL 检查证书的准确步骤和命令行。
目录
- 如何检查 OpenSSL 版本?
- 如何查看证书详情
- 查看 SSL 证书本身(编码)
- 检查密钥是否与证书匹配
- 检查 SSL 证书的颁发者
- 检查 SSL 证书的颁发对象
- 在 Linux 中检查 SSL 证书有效性
- 显示 SSL 证书的所有上述信息
如何检查 OpenSSL 版本?
大多数 Linux 系统都预装了OpenSSL,但最好还是确保有最新的运行版本。 您可以运行以下命令检查 OpenSSL 版本:
openssl 版本 -a
Linux 中的证书文件默认位于/etc/pki/tls/certs文件夹中,有时也位于特定应用程序文件夹中,如 Apache 的/etc/httpd文件夹。 这些文件一般使用.pem或 .crt 扩展名,可能会命名为yourdomain.pem或yourdomain.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
检查密钥是否与证书匹配
要验证公钥和私钥是否匹配,需要从每个文件中提取公钥,并为其生成哈希输出。 所有三个文件应共享相同的公钥和哈希值。 下面介绍如何使用 OpenSSL 检查证书和密钥的详细信息。 使用以下命令生成每个文件公钥的哈希值:
openssl pkey -pubout -in privateKey.key | openssl sha256
openssl req -pubkey -in CSR.csr -noout | openssl sha256
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 的安装。