rustls/upki

GitHub: rustls/upki

基于 Rust 的平台无关证书基础设施,旨在提供类似浏览器级别的高效且保护隐私的证书吊销检查机制。

Stars: 22 | Forks: 6

**upki** 实现了平台无关的、浏览器级证书基础设施。 本项目的首要目标是基于 Mozilla 的基础工作,提供可靠、保护隐私 且高效的证书吊销机制。 后续目标包括中间证书预加载、证书透明度强制执行、 复制常见的根证书不信任流程,以及支持 Merkle Tree 证书的部署。 ## 吊销 此功能用于检查由受信任的公共机构颁发证书的吊销状态。它使用 [crlite-clubcard](https://eprint.iacr.org/2025/610)。 这需要一个每天更新多次的数据集。因此,`upki` 包含一个同步组件,用于获取更新的数据。 您可以随时运行 `upki fetch` 来执行此操作,但理想情况下,它应作为 [打包者安排的那样](PACKAGING.md) 在系统范围内运行。 提供了多种接口: ### 命令行界面 这适用于监控、测试和告警目的。 ``` $ curl -w '%{certs}' https://google.com | upki revocation check (...) NotRevoked ``` ### C-FFI 接口 TODO ### [Rustls](https://crates.io/crates/rustls/) 集成 [`rustls-upki`](https://crates.io/crates/rustls-upki) crate 提供了一个 rustls 服务器证书验证器,用于检查服务器证书的吊销状态。 请参阅 [文档](http://docs.rs/rustls-upki) 或 [示例代码](https://github.com/rustls/upki/blob/main/rustls-upki/examples/simpleclient.rs): ``` ~/src/upki/rustls-upki$ cargo -q run --example simpleclient revoked.r6.roots.globalsign.com Error: Custom { kind: InvalidData, error: InvalidCertificate(Revoked) } ``` # 打包 请参阅 [PACKAGING.md](PACKAGING.md)。 # 许可证 upki 根据以下两种许可证进行分发: - Apache License version 2.0。 - MIT license。 这些许可证分别包含在 LICENSE-APACHE 和 LICENSE-MIT 文件中。您可以 根据您的选择,按照这些许可证中的任一项条款使用本软件。
标签:Apache License, C-FFI, CRLite, Merkle Tree, MIT License, Rust, Rustls, SSL, TLS, 中间件, 公钥基础设施, 可视化界面, 浏览器级, 系统工具, 网络安全, 网络安全, 网络流量审计, 证书吊销, 证书管理, 证书透明度, 证书验证, 通知系统, 防御工具, 隐私保护, 隐私保护