如何检查 OpenSSL 版本?
大多数 Linux 系统都预装了OpenSSL,但最好还是确保有最新的运行版本。 您可以运行以下命令检查 OpenSSL 版本:
openssl version -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
查看 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 证书是否有效
echo | openssl s_client -connect www.baidu.com:443 2>/dev/null | grep "verify"
检查 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