讲师中心 微信公众号
AI工具推荐 视频效率加速

Linux怎么查看SSL证书过期日期

胖瑶酱_9675

胖瑶酱_9675

发布时间:2026-07-25 07:01:20

|

779人浏览过

|

来源于php中文网

原创

最可靠方式是用 openssl x509 -in cert.pem -noout -dates,需确保证书为 PEM 格式(以-----BEGIN CERTIFICATE-----开头)、路径正确、权限可读;远程站点则用 echo | openssl s_client -servername domain.com -connect domain.com:443 2>/dev/null | openssl x509 -noout -dates。

linux怎么查看ssl证书过期日期

openssl x509 -in 怎么用才不报错

直接对证书文件执行 openssl x509 -in cert.pem -noout -dates 是最常用也最可靠的方式。但常见错误是:传入了非 PEM 格式证书(比如 DER 或 P7B),或路径写错导致读不到文件,报 Error opening certificate file 或 unable to load certificate。

实操建议:

  • 先确认证书是 PEM 格式:用 head -n 2 cert.pem 看是否以 -----BEGIN CERTIFICATE----- 开头
  • 如果不是 PEM,先转换:DER 转 PEM 用 openssl x509 -inform DER -in cert.cer -out cert.pem
  • 路径必须是绝对路径或相对路径正确;如果从 Nginx/Apache 配置里复制的路径,注意别漏掉 /etc/ssl/certs/ 这类前缀
  • 权限不足时会静默失败,加 sudo 并不解决证书读取问题——openssl 不需要 root 权限读证书文件,但若文件属主是 root 且权限为 600,普通用户确实打不开,此时用 sudo cat cert.pem | openssl x509 -noout -dates

curl -v 查 HTTPS 站点时怎么提取有效期

当证书部署在远程服务上(如网站),你没法直接访问 .pem 文件,这时靠 curl -v https://example.com 2>&1 | grep "expire\|after" 很容易漏掉或误匹配。真正稳定的做法是让 curl 输出原始证书链,再交给 openssl 解析。

实操建议:

  • 用 echo | openssl s_client -connect example.com:443 2>/dev/null | openssl x509 -noout -dates ——这是最干净的组合,绕过 curl 的 HTML/HTTP 解析干扰
  • 如果站点用了 SNI(绝大多数 HTTPS 站点都用),必须加 -servername example.com,否则可能拿到默认证书或握手失败:echo | openssl s_client -servername example.com -connect example.com:443 2>/dev/null | openssl x509 -noout -dates
  • 超时或防火墙拦截时,s_client 可能卡住,默认无 timeout;加 -timeout 参数(OpenSSL 1.1.1+ 支持)或用 timeout 5s 包裹整条命令

批量检查多个域名或证书文件

运维中常要巡检一堆域名或证书文件,手动敲太累。关键不是“写个脚本”,而是避免常见陷阱:空行、DNS 解析失败、证书链不全导致 s_client 拿不到 leaf 证书。

Obsidian (Linux)
Obsidian (Linux)

操作 Obsidian 库(纯 Markdown 笔记),并通过 notesmd-cli 实现自动化。

下载

实操建议:

  • 检查本地文件列表:用 for f in *.pem; do echo "$f:"; openssl x509 -in "$f" -noout -dates 2>/dev/null || echo "invalid or empty"; done
  • 检查域名列表(domains.txt 每行一个):while read -r d; do [ -z "$d" ] && continue; echo "$d:"; timeout 5s openssl s_client -servername "$d" -connect "$d:443" 2>/dev/null | openssl x509 -noout -dates 2>/dev/null || echo "fail or timeout"; done
  • 注意:s_client 默认只返回 leaf 证书;如果中间证书缺失,openssl x509 仍能解析成功——它不验证信任链,只看当前证书字段,所以过期判断不受 CA 证书缺失影响

为什么 date -d 输出看起来不对

很多人把 notAfter=Jan 15 12:00:00 2025 GMT 丢给 date -d 做计算,结果报 invalid date。根本原因是 OpenSSL 输出的日期格式不是 GNU date 默认支持的格式,尤其 GMT 时区缩写和空格分隔易出问题。

实操建议:

  • 别硬 parse openssl x509 -dates 输出;改用 openssl x509 -in cert.pem -noout -enddate | cut -d= -f2- 提取 raw 时间串,再用 date -d "$(openssl x509 -in cert.pem -noout -enddate | cut -d= -f2- | sed 's/ */ /g') GMT" +%s 2>/dev/null
  • 更稳妥的做法是用 Python 一行搞定:python3 -c "import ssl,datetime; print(ssl._ssl._test_decode_cert('cert.pem')['notAfter'])"(仅限 Python 3.10+,且依赖 OpenSSL 绑定)
  • 如果只是判断是否快过期,用 openssl x509 -checkend 86400(检查未来 24 小时内是否过期),返回 0 表示即将过期,比自己算时间安全得多

证书过期时间本身是个简单字段,但实际操作中卡点往往不在「怎么看」,而在「看的是不是目标证书」——SNI 漏设、中间证书干扰、PEM 封装错位、时区理解偏差,这些细节一错,查出来的日期就不是你要的那个。

热门AI工具

更多
WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

AionClaw
AionClaw Hot

AionClaw是一款面向办公、创作和编程任务的AI桌面智能体。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

Loomy
Loomy Hot

一款AI工具,主要用于科大讯飞发布的桌面级 AI 助理,比 OpenClaw 更易用、更安全!,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

相关专题

更多
SSL检测工具介绍
SSL检测工具介绍

SSL检测工具有SSL Labs、SSL Check、SSL Server Test、SSLMate、SSL/TLS Analyzer等。详细介绍:1、SSL Labs是一个由Qualys提供的在线SSL检测工具,可以评估服务器证书的部署情况、加密套件、协议支持等方面的安全性,它提供了一个详细的报告,包括证书的颁发者、有效期、安全性配置等;2、SSL Check等等。

810

2023.10.20

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

4290

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

3613

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2873

2023.06.30

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

7050

2023.07.05

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

6682

2023.07.06

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

3833

2023.07.20

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

3325

2023.07.20

Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

40

2026.10.28

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn