3 个版本
0.1.2 | 2023年8月29日 |
---|---|
0.1.1 | 2021年10月30日 |
0.1.0 | 2021年10月29日 |
#782 in 密码学
14KB
222 行
crtshmon 是一个简单的工具,它只做一件事:从 crt.sh 获取一个或多个网站的 CT 日志,并显示尚未看到的证书信息。
因为 crtshmon 依赖于 crt.sh 而不是使用上游 CT 集线器,所以它快速且轻量。
安装
crtshmon 可以与 docker 或兼容的等效工具一起使用
docker run registry.hub.docker.com/c4k3/crtshmon:latest -d example.com
可以用 cargo 安装
cargo install crtshmon
也可以使用 cargo 从源代码构建
cargo build --release
在这种情况下,输出将放在 target/release/crtshmon
中。
使用方法
crtshmon 将检查使用 --domain
指定的域名,将新看到的证书信息写入 stdout,然后退出。没有提供守护进程模式。
crtshmon 将仅显示它尚未看到的证书。它将只显示尚未过期的证书。
crtshmon 很适合作为 cronjob 运行。如果您的 cron 守护程序支持通过电子邮件发送作业的输出,则可以通过电子邮件接收有关新证书的通知。如果没有新证书,crtshmon 将退出而不写入任何内容到 stdout,这意味着您只有在证书签发时才会收到通知(假设您的 cron 守护程序跳过了没有输出的通知作业。)
没有理由频繁运行 crtshmon(例如,每小时运行一次以上。)将新证书包含到 CT 日志中远非即时。
以下选项可用
--domain
使用 -d
/--domain
指定您要检查的域名。此选项可以重复多次。
--directory
crtshmon 将只显示一次证书。为了跟踪它已看到的证书,它将写入一个状态文件。默认情况下,状态文件写入到 ./crtshmon.json
。可以通过 --directory
选项更改写入到的目录(但不是文件名)。
如果在 docker/kubernetes 内运行,您需要将持久卷挂载到容器中,以便 crtshmon 将其状态写入。您可以将此目录挂载到 /home/crtshmon
,在这种情况下,您不需要指定任何 --directory
。
--json-log
默认情况下,crtshmon将以人类可读的纯文本格式输出证书信息。它还可以使用--json-log
选项以ndjson格式输出信息。
依赖项
~10-20MB
~297K SLoC