16个不稳定版本 (3个破坏性版本)
0.4.5 | 2020年7月11日 |
---|---|
0.4.4 | 2020年7月11日 |
0.4.2 | 2020年5月24日 |
0.3.5 | 2020年5月23日 |
0.1.0 | 2020年5月12日 |
#1440 in 加密学
52 每月下载量
5MB
2K SLoC
🔒 证书透明度 日志客户端库
适用于监控、快速SCT验证、八卦等证书透明度日志客户端。
(不是具有UI等完整功能的客户端 - 将稍后处理。这是一个库,可用于创建自己的客户端。)
构建要求
OpenSSL >= 1.1.0
特性
- 监控树头更新
- 验证一致性和包含证明
- 验证签名树头(STH)和签名证书时间戳(SCT)
- 从SCT构建叶哈希并检查包含
- 低级和高级API
- 从证书中提取SCT
- 代码中包含大量注释,旨在作为其他黑客的参考!
待办事项
- 实现八卦协议
- 使用异步IO(目前所有API请求都是阻塞的)
- 同时监控多个日志的辅助工具
- 证书提交
- 更多测试覆盖率
示例 & DEMO
注意,您可以通过 cargo run --example name
运行这些示例。
-
examples/parse_sct_list_from_cert.rs
:解析具有“CT Precertificate SCTs”扩展的证书并打印出SCTs。同时检查日志可以根据最新的树头为这些叶提供包含证明。 -
examples/live_stream_domains.rs
:读取日志发布的证书并打印出CA和域名。在README的顶部进行DEMO。
-
examples/simple_client/simple_client.rs
:一个简单的SQLite支持的CT日志客户端,监控单个日志。- 每次接收到新的树头时,检查树的一致性(仅扩展)。
- 下载并检查所有证书,以搜索硬编码的域名。
- 将树头和匹配的证书存储在SQLite数据库中。
- 旨在作为更复杂客户端的基础。
依赖项
~5–9.5MB
~220K SLoC