SSL 证书解析器
粘贴一份 PEM 证书,把它读成一张表:颁发者、主体、覆盖的名称、有效期窗口、指纹——全部在你的浏览器中解析。可选的 crt.sh 查询会显示同一域名的证书透明度历史。想看服务器此刻实际出示的是什么,请改用 SSL 检查器。
解析证书
自签名:主体与颁发者一致,因此没有公共机构为这份证书背书。
- 主体
- 颁发者
- 序列号
- 签名算法
- 公钥
- 生效时间
- 到期时间
- 剩余天数
- 覆盖名称(SAN)
- SHA-256 指纹
证书透明度历史(可选)
在 crt.sh 上搜索某个域名曾经签发过、并被公开记录的每一份证书。这是历史,不是实时检查:它显示已经签发过什么,包括你可能不认识的证书。如果 crt.sh 无法从此浏览器访问,本节会如实说明,上面的解析器不受影响。
| 通用名称 | 颁发者 | 生效时间 | 到期时间 | 名称 |
|---|
如何读懂一份证书
证书把三样东西绑在一起:一个公钥、一份名称清单和一个有效期窗口——全部由颁发者签名。主体说明证书签发给了谁;颁发者说明是哪家机构签的名,接手基础设施时续期就藏在这里。序列号是颁发者为这份证书分配的唯一标识,当一家机构只吊销一份证书而不动其同级证书时很有用。签名算法告诉你颁发者的签名是怎么生成的;仍在使用 MD5 或 SHA-1 的,无论到期日如何,都早过了退役日期,应当更换。
有效期窗口是带截止日期的那一部分,本页面把它换算成剩余天数,配色与实时检查器一致:超过九十天是舒适区,九十天以内变琥珀色,三十天以内变红色,过了零就是明确的已过期。覆盖名称清单才是浏览器真正检查的东西——通用名称只是遗留装饰,这份清单里缺一个名字,是原本健康的网站出现浏览器警告的最常见原因。SHA-256 指纹是确切证书字节的紧凑标识:两份证书指纹相同就是同一份证书,因此它是把你手里的证书与日志、厂商或同事声称的证书做比对的可靠方式。
解析器、实时检查与透明度日志的区别
三个不同的问题,三个不同的工具,混为一谈会造成真正的困惑。“这个文件里有什么?”是本页面的解析器——离线、精确、只限于你手里的文件。“服务器此刻出示的是什么?”是 SSL 检查器,它执行一次真正的 TLS 握手,因此可能与文件不一致:磁盘上续好了证书,在服务器重载之前毫无意义。“这个域名曾经签发过什么?”是 crt.sh 搜索,它读取公开的证书透明度日志,能浮现出另外两者都看不到的、被遗忘的或未经授权的签发。用解析器读文件,用检查器验证部署,用日志搜索审计历史——当检查器与文件不一致时,相信检查器。第四个问题属于另一个工具:几份文件是否配套——哪把私钥与这份证书匹配、链应该按什么顺序出示——那是 证书与密钥匹配器,它按共享的公钥把证书、密钥和 CSR 分组。
证书解析使用 node-forge,按 BSD-3-Clause 许可证使用。在线查询会把你输入的域名发送给 crt.sh;PEM 解析器本身不发出任何网络请求。
常见问题
这与 SSL 检查器有什么区别?
SSL 检查器对服务器执行一次实时 TLS 握手,报告服务器此刻实际出示的证书。本页面解析你粘贴进来的证书文本——当你手里有一份证书文件、走的是 CSR 流程,或证书来自一个从这里无法访问的系统时很有用。能访问站点就用 SSL 检查器;只有文件就用本页面。
crt.sh 增加了什么?
crt.sh 搜索公开的证书透明度日志:某个域名曾经签发过的每一份受公共信任的证书,附带颁发者和有效期。它回答的是“已经签发过什么”——包括你没预料到的证书。它无法告诉你服务器今天出示什么;只有实时握手能做到。
crt.sh 查询为什么可能失败?
crt.sh 是免费的第三方服务,浏览器能否读取它的答复取决于它的跨源响应头。如果在这里失败,页面会如实说明,上面的 PEM 解析器照常工作——在线查询是增强功能,不是工具本身。
SAN 能告诉我通用名称告诉不了的什么?
现代浏览器忽略通用名称,改为检查主体备用名称清单。一份证书恰好只对清单里的名称有效:不带 www 的裸域名,或一个被遗忘的子域名,是原本健康的网站出现浏览器警告的最常见原因。
粘贴证书会泄露什么吗?
证书在设计上就是公开文件——它不包含私钥,也没有任何秘密。私钥是单独的文件,绝不能粘贴到任何地方。而且这里的解析无论如何都完全在你的浏览器中进行。