如何使用 OpenSSL 检查 Linux 中的 SSL 证书

如果您管理网站或服务器,确保您的 SSL 证书有效且配置正确是首要任务。一种方法是使用流行的开源加密实用程序 OpenSSL。

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

如何检查 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

使用此 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 安装的控制。

相关推荐
其实防守也摸鱼5 小时前
教育信息技术应用创新---基础软件信息赛(题库)
大数据·运维·人工智能·web安全·自动化
新时代牛马5 小时前
Linux 性能调优与追踪完整篇:ftrace、perf、eBPF从采样到落地验证
linux·运维·服务器
sunoo-2295 小时前
【网络编程 + 数据库】select 与 epoll 核心区别详解 + SQLite 入门到 C 接口全攻略
linux·网络·数据库·vscode·学习·sqlite
zbyyd5 小时前
Linux 系统编程 :select/epoll 多路复用与 SQLite 数据库实战
linux·数据库·sqlite
虎王物联5 小时前
Docker BuildKit多阶段构建:IoT固件交叉编译流水线实战
运维·物联网·ci/cd·docker·容器·物联网嵌入式
Mortalbreeze5 小时前
深入理解 Linux IO 模型(二):多路复用——select
linux·运维·服务器·网络·tcp/ip
养生技术人5 小时前
Oracle OCP认证考试题目详解082系列第17题
运维·数据库·sql·oracle·ocp
Mrs_DongDong5 小时前
华为云 Windows 服务器远程桌面自定义端口排障指南
服务器·windows·华为云
koi77u5 小时前
嵌入式学习———sqlite数据表
linux·数据库·学习·sqlite
SamChan905 小时前
PDF翻译服务端到端基准测试:4款主流方案的吞吐量、延迟、内存占用对比
服务器·网络·python·ai·pdf·wpf