检查域名的TLS证书到期日期等。
项目描述
check-tls-certs
检查域名的TLS证书到期日期等。
安装
建议在macOS上使用Python 3.5或更高版本,因为DNS查找可以在检查多个域名时并行执行,从而更快。
最佳安装方式是通过pipsi
% pipsi install check-tls-certs
或安装包含脚本的Python包的其他方式。
用法
Usage: check_tls_certs [OPTIONS] [DOMAIN]... Checks the TLS certificate for each DOMAIN. You can add checks for alternative names by separating them with a slash, like example.com/www.example.com. Wildcard domains are supported. Exits with return code 3 when there are warnings, code 4 when there are errors, code 6 when more than half of the domains raised an exception during fetch and code 5 when the domain definition contains errors. Options: -f, --file FILE File to read domains from. One per line. -v, --verbose Increase verbosity. Can be used several times. Currently max verbosity is 2. --help Show this message and exit.
当从文件中读取域名时,以#开头的行将被忽略。如果文件中的一行以/结尾,则它将与下一行连接。这允许您使用相同的证书将许多域名分组。
如果域名以!开头,则将其检查是否在备用名称列表中,但不会获取并检查其TLS证书。这对于由于某些原因无法访问的域名很有用。
默认端口443,用于连接以获取证书,可以通过在域名后添加冒号来更改,例如example.com:1234。
您可以通过使用|符号将其与实际使用的连接主机分开来更改实际使用的连接主机,例如example.com|192.168.0.1将使用IP 192.168.0.1进行连接。
变更日志
0.12.0 - 2020-11-26
删除对Python < 3.6的支持。[fschulze]
修复使用|时设置主机名的错误。[fschulze]
在将套接字包装在SSL连接之前设置套接字的超时。[fschulze]
使用-e选项覆盖过期警告的阈值。[fschulze]
重构异常处理。如果在获取时超过一半的域名抛出异常,则返回退出代码6而不是4。[fschulze]
0.11.0 - 2018-01-07
支持通配符证书。[fschulze]
0.10.0 - 2017-11-24
验证证书链。[fschulze]
允许使用“|”指定实际连接所使用的宿主机。[fschulze]
重新抛出实际连接错误,使得脚本的退出码表示失败。[fschulze]
0.9.1 - 2017-04-05
由于提前上传而重新发布。[fschulze]
0.9.0 - 2017-04-05
添加5秒超时并打印更详细的错误信息。[fschulze]
如果一行以“/”结束,则在从文件读取域名时将与下一行合并。[fschulze]
对输出中的域名进行排序。[fschulze]
0.8.0 - 2016-05-09
验证服务器发送的证书链。[fschulze]
0.7.0 - 2016-05-09
只获取一次当前时间以避免重复的到期消息。[fschulze]
将预发布服务器的证书标记为错误。[fschulze]
0.6.0 - 2016-02-20
修复没有到期时间时的比较问题。[fschulze]
允许在域名中指定端口,用于ssl连接而不是默认的443。[fschulze]
0.5.0 - 2016-02-17
使用UTC时间来计算到期时间。[fschulze]
添加另一个详细级别(并移除-q/--quite)。默认情况下,除了有错误外不打印任何内容。第一级-v始终打印最早的到期日期。第二级-vv打印所有信息。[fschulze]
0.4.0 - 2016-02-12
当在域名前加上!时,证书将不会获取和检查,但它的名称将被检查是否在备用名称列表中。[fschulze]
更改备用名称的处理方式,以便在证书适用于多个域名时仅检查一个域名。[fschulze]
默认情况下,仅打印具有错误的域名的消息。使用-v选项打印所有域名的信息。[fschulze]
允许在域名文件中包含以#开头的注释。[fschulze]
去除对openssl可执行文件的要求。[fschulze]
0.3.0 - 2016-01-01
使用asyncio并行获取证书。[fschulze]
0.2.0 - 2015-12-22
实际上支持Python 3.4,如广告所示。[fschulze]
修复打包问题。[witsch]
将到期时间差异四舍五入到分钟,以获得更美观的输出。[fschulze]
跳过备用名称的重复消息。[fschulze]
将证书颁发者添加到输出中。[fschulze]
将sha1证书签名标记为错误。[fschulze]
0.1.0 - 2015-12-20
初始发布 [fschulze]