#证书透明度 #客户端 #日志 # #监控 #验证 #合适

ctclient

适用于监控、快速SCT验证、八卦等证书透明度日志客户端

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 加密学

Download history 38/week @ 2024-03-29 8/week @ 2024-04-05

52 每月下载量

MIT 许可证

5MB
2K SLoC

🔒 证书透明度 日志客户端库

live stream domain video demo

Crates.io Crates.io doc link

适用于监控、快速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。同时检查日志可以根据最新的树头为这些叶提供包含证明。

    screenshot

  • examples/live_stream_domains.rs:读取日志发布的证书并打印出CA和域名。

    在README的顶部进行DEMO。

  • examples/simple_client/simple_client.rs:一个简单的SQLite支持的CT日志客户端,监控单个日志。

    • 每次接收到新的树头时,检查树的一致性(仅扩展)。
    • 下载并检查所有证书,以搜索硬编码的域名。
    • 将树头和匹配的证书存储在SQLite数据库中。
    • 旨在作为更复杂客户端的基础。

    screenshot

依赖项

~5–9.5MB
~220K SLoC