惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

W
WeLiveSecurity
Jina AI
Jina AI
博客园 - 司徒正美
雷峰网
雷峰网
宝玉的分享
宝玉的分享
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园_首页
WordPress大学
WordPress大学
Google DeepMind News
Google DeepMind News
GbyAI
GbyAI
MyScale Blog
MyScale Blog
Apple Machine Learning Research
Apple Machine Learning Research
美团技术团队
I
InfoQ
博客园 - Franky
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
博客园 - 叶小钗
阮一峰的网络日志
阮一峰的网络日志
Cyberwarzone
Cyberwarzone
C
CXSECURITY Database RSS Feed - CXSecurity.com
S
Schneier on Security
P
Privacy & Cybersecurity Law Blog
T
Threatpost
Cloudbric
Cloudbric
D
Docker
M
MIT News - Artificial intelligence
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Vercel News
Vercel News
Martin Fowler
Martin Fowler
J
Java Code Geeks
AWS News Blog
AWS News Blog
The Cloudflare Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
L
Lohrmann on Cybersecurity
Hacker News: Ask HN
Hacker News: Ask HN
Last Week in AI
Last Week in AI
S
Security @ Cisco Blogs
Help Net Security
Help Net Security
C
Cisco Blogs
V
V2EX
博客园 - 【当耐特】
I
Intezer
爱范儿
爱范儿
F
Fortinet All Blogs
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
P
Privacy International News Feed
IT之家
IT之家
L
LINUX DO - 最新话题
B
Blog RSS Feed
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO

博客园 - ayanmw

极度推荐: 9router 一个npm服务,可以让你将白嫖到的所有AI token以及付费API都集中到一起 开源项目介绍 OpenTeam Nginx 使用自签名 SSL 证书 关闭夸克浏览器在windows资源管理器中,图片右键菜单的万能转换开关 golang的defer 深坑 Windows Terminal 清屏方法 Ctrl+Shift+K 免费二级域名以及设置SSL证书和解析 docker加速镜像 golang + AI 写一个可以 一键让nas下载百度网盘链接的文件 的程序 raid 为什么而不可以两个硬盘交叉读写和交叉备份? google-protobuf库 在golang语言下的插件扩展 golang 空切片和nil切片 有区别吗? golang json库 忽略 omitempty Go语言: golang如何判断一个结构体的一个方法是匿名组合的,还是该结构体自己的方法? golang 获得一个结构体的字节大小 吐槽 WPS 流氓行为: WPS 未经用户允许, 就建立了 WPS本地云盘 , 然后 云文档的文件 莫名其妙的的被删除了, 现在只能开会员恢复WPS云空间回收站的文件. 预测未来会有 内嵌AI大模型的游戏 好奇: windows10+都可以运行多个linux子系统了,为什么不支持运行多个windows子系统呢? gorm使用事务并发情况下切有最大mysql连接数限制的情况下的BUG,踩坑了 2024年 个人养老金 账户 应知应会 两个Mysql唯一索引的交换: 避免重复索引 Duplicate entry '3' for key 'priority_UNIQUE'
命令行 检测验证网站的 SSL证书 是否安全
ayanmw · 2026-02-05 · via 博客园 - ayanmw

有些时候,打开浏览器会提示某些https的网站不安全,但是并没有具体原因.

手动排查,比如

  • 发现日期并是否过期;

  • 发现是泛域名,是否在列表;且不支持多级域名,*只能代表一级的域名,比如 *.d.test.com 无法为 foo.bar.d.test.com 来签发证书;

  • 发现证书与域名不匹配;

  • https里面包含http内容,这个得排查网页的内容了.

  • 证书链不完整, 不如缺少中间证书;(证书被分割多份了)

  • 比如是自签名证书,非认证机构CA的证书. 但是我怎么知道?

命令行检查https的证书问题

为了排查问题,我们最好找有详细日志流水的工具,比如命令行;
可以使用
curl
openssl

  1. 提取并查看证书详细信息
    使用openssl s_client命令连接服务器并提取证书,结合x509工具解析详细信息:

1 # 提取证书并查看完整信息(包括颁发者、使用者、扩展字段等)
2 Openssl s_client -connect example.com:443 -servername example.com </dev/null 2>/dev/null |Openssl x509 -text -noout
关键输出字段解析:

Issuer:证书颁发机构(如CN=DigiCert GlobalCAG2);
Validity:有效期(Not Before起始时间,Not After过期时间);
Subject:证书所有者(如CN=example.com);
X509v3 Extensions:扩展字段,包括Subject Alternative Name(SAN,多域名证书的域名列表)、Key Usage(密钥用途)等。
简化命令:仅查看有效期和域名信息:

1 # 查看有效期
2 Openssl s_client -connect example.com:443 -servername example.com </dev/null 2>/dev/null |Openssl x509 -noout -dates
3
4 # 查看包含的域名(SAN字段)
5 Openssl s_client -connect example.com:443 -servername example.com </dev/null 2>/dev/null |Openssl x509 -noout -ext subjectAltName
2. 检测证书吊销状态(OCSP 检查)
证书可能在有效期内被吊销(如私钥泄露),通过OCSP(在线证书状态协议)可验证吊销状态:

1 # 获取OCSP服务器地址
2 Openssl x509 -in cert.pem -noout -ocsp_uri # 若已保存证书文件
3
4 # 在线检测(需指定服务器域名、证书文件、中间证书文件)
5 Openssl ocsp -issuer ca-bundle.pem -cert cert.pem -url http://ocsp.example.com -header "Host=ocsp.example.com"
输出中good表示证书未被吊销,revoked表示已吊销。

  1. 测试服务器支持的加密套件
    不同加密套件的安全性差异较大,OpenSSL可列出服务器支持的所有加密套件:

1 Openssl s_client -connect example.com:443 -servername example.com -cipher 'ALL:eNULL' </dev/null 2>/dev/null | grep "Cipher is"
或使用更直观的openssl ciphers配合测试:

1 # 列出服务器支持的所有加密套件
2 Openssl s_client -connect example.com:443 -servername example.com -showcerts </dev/null 2>/dev/null | grep "Cipher Suite"
输出示例:

1 Cipher Suite: TLS_AES_256_GCM_SHA384
2 Cipher Suite: TLS_CHACHA20_POLY1305_SHA256
3 Cipher Suite: TLS_AES_128_GCM_SHA256
建议优先支持AES-GCM、CHACHA20等现代加密套件,禁用RC4、DES等弱加密算法。

  1. 验证证书与私钥匹配性
    在服务器端部署证书前,需验证证书与私钥是否匹配(避免因文件混淆导致部署失败):

1 # 提取证书的公钥指纹
2 Openssl x509 -in cert.pem -noout -modulus |Openssl md5
3
4 # 提取私钥的公钥指纹(需确保私钥未加密,或输入密码)
5 Openssl rsa -in key.pem -noout -modulus |Openssl md5
若两者输出的 MD5 值相同,表明证书与私钥匹配;若不同,需重新匹配正确的文件对。

  1. 检测SSL会话复用支持
    SSL会话复用可减少握手时间,提升性能,OpenSSL可测试服务器是否支持该功能:

1 # 首次连接建立会话
2 Openssl s_client -connect example.com:443 -servername example.com -reconnect </dev/null 2>/dev/null | grep "Reused, TLSv1.3"
若输出包含Reused,说明服务器支持会话复用(如通过TLS会话票据或会话ID实现)。

参考: 使用curl/OpenSSL检测SSL证书状态的常用命令-SSL证书服务机构【Dogssl】

ssl免费证书

比如

最好选择 ACME 证书自动化的网站;