这是一个用于快速检查域名是否正确实施证书透明化(Certificate Transparency)的简易Python脚本。如果存在问题,可以观察服务器端如何实施证书透明化。 当服务器实施证书透明化时,它必须提供至少一个SCT(服务器TLS证书被纳入透明度日志的包含证明)。SCT可以通过三种不同方式提供:嵌入证书中、作为TLS扩展以及通过OCSP装订(OCSP Stapling)。使用PySCTChecker可以识别服务器使用的交付选项以及证书已发送到的日志。此外,还可以检查所提供的SCT是否有效且由日志合法签名。
用法:
python PySCTChecker/ct_domains_sct_checker.py [domain1 domain2 ...]
输出示例:
user@ubuntu:~/Desktop/PySCTChecker$ python ct_domains_sct_checker.py elevenpaths.com
** 正在连接到主机:elevenpaths.com... **
** 在证书中查找嵌入的SCT **
** 在TLS扩展中查找SCT **
未在TLS中发现SCT
** 在OCSP响应中查找SCT **
未找到OCSP地址 未在OCSP响应中发现SCT
** 在SCT中检测到的日志 **
Symantec 日志(预证书) └─ 已验证签名:True
Google 'Pilot' 日志(预证书) └─ 已验证签名:True
Google 'Rocketeer' 日志(预证书) └─ 已验证签名:True
依赖项:
运行PySCTChecker需要 OpenSSL。
要安装Python模块依赖项,请运行:
sudo pip install -r PySCTChecker/requirements.txt