29 个版本
0.102.6 | 2024 年 7 月 22 日 |
---|---|
0.102.4 | 2024 年 5 月 16 日 |
0.102.2 | 2024 年 2 月 2 日 |
0.102.0 | 2023 年 11 月 30 日 |
0.100.1 | 2023 年 3 月 28 日 |
#68 in 密码学
8,605,440 每月下载量
用于 4,329 个 crate(58 个直接使用)
345KB
6K SLoC
webpki 是一个验证 Web PKI(TLS/SSL)证书的库。它被 Rustls 用于处理实现 TLS 客户端和服务器所需的证书相关任务。
webpki 使用 Rust 编写,并使用 ring 进行加密操作和底层解析。
这是 原始 webpki 项目 的一个分支,该分支添加了 rustls 项目所需的一些功能。这个分支作为 rustls-webpki
crate 发布,版本从 0.100.0 开始,以避免与 webpki
版本混淆。
功能
-
表示信任锚点 - webpki 要求调用者通过显式指定一组信任锚点(使用
TrustAnchor
类型)来自举建立信任。 -
解析证书 - webpki 可以将证书的原始编码形式转换为可用于做出信任决策的形式。
-
路径构建 - webpki 可以确定一个端实体(如网站或客户端身份)的证书是否由信任锚点或一系列信任锚点背书的中间证书签发。
-
名称/使用验证 - webpki 可以通过考虑证书的允许使用和附加约束来确定证书是否适用于给定的 DNS 名称或 IP 地址。
限制
webpki 提供了一个最小化的功能集,针对 Rustls 的需求进行了定制。值得注意的是,它不提供
- 自签名证书支持
- 证书或密钥对生成
- 访问任意证书扩展
- 解析/表示证书主题,或以人类友好的方式显示这些字段
对于这些任务,您可能更愿意使用 webpki 与类似 x509-parser 和 rcgen 的库一起使用。
变更日志
发布历史可以在 GitHub 上找到。
演示
请参阅 https://github.com/rustls/rustls#example-code 了解如何使用 webpki。
许可
请参阅 LICENSE。本项目乐意接受没有任何正式版权/贡献者许可协议的 pull request。
错误报告
请参阅 SECURITY 策略以处理安全问题。所有其他错误应作为 GitHub issues 报告。
依赖关系
~5–20MB
~450K SLoC