检查
证书透明度(CT)日志查询
直接从证书透明度日志里列出公开 CA 为某个域名及其子域名签发过的证书。
CT 日志查询会列出公开证书颁发机构为某个域名记录在案的所有证书。输入 example.com,点 查询 CT 日志,结果页会显示这个域名及其子域名的证书,包括签发者、有效期和 SAN。
怎么用
- 输入注册的主域名,比如
example.com,开头的*.会被忽略。 - 点 查询 CT 日志。
- 查看列表:新证书在前,每张都标明签发的 CA。
什么是证书透明度
证书透明度让证书签发变成公开可查的事情。CA 签发 TLS 证书时,要把证书提交给多个独立的日志,并把日志返回的签名凭证(SCT)嵌进证书。Chrome 和苹果系统会拒绝没有足够有效 SCT 的公开证书,所以 CA 签发的几乎所有证书都会进日志。
能用来做什么
- 发现异常签发:出现你没申请过的证书就要警惕。配合 CAA 记录,只允许你指定的 CA 签发。
- 找出被遗忘的主机:早年的测试环境、管理后台经常能在 CT 里翻出来,再用批量 SSL 检查逐个排查。
- 核对续期情况:比如换了 ACME 客户端或从云厂商证书换成 Let's Encrypt 后,确认每张证书何时、由哪家 CA 签发。
局限
CT 只覆盖公开信任 CA 签发的证书。自建 CA、自签名证书和大部分客户端证书都不会出现在日志里。日志是公开的,不要把保密项目的名字写进证书的 SAN。
常见问题
为什么同一张证书出现两条记录?
CA 通常先把“预签证书”(带一个特殊的 poison 扩展)提交到日志,再签发正式证书,两者都会被记录,所以一次签发可能出现两条。
发现一张不是我申请的证书,怎么办?
先确认是不是同事、主机商或 CDN 申请的(CDN 和云厂商的托管证书经常自动签发)。确实是未授权签发,就联系签发的 CA 要求吊销,并添加 CAA 记录限制能签发的 CA。
能不让子域名出现在 CT 日志里吗?
公开信任的证书做不到,SAN 里的每个名字都会被记录。不想暴露具体主机名可以用通配符证书,纯内网的名字可以用私有 CA。