16个版本

0.22.4 2023年10月9日
0.22.2 2023年9月30日
0.22.0 2021年4月10日
0.21.4 2020年12月2日
0.8.0 2016年11月21日

密码学 中排名 75

Download history 551733/week @ 2024-03-14 544110/week @ 2024-03-21 544096/week @ 2024-03-28 523000/week @ 2024-04-04 543392/week @ 2024-04-11 530230/week @ 2024-04-18 507301/week @ 2024-04-25 471439/week @ 2024-05-02 491198/week @ 2024-05-09 530428/week @ 2024-05-16 518945/week @ 2024-05-23 538857/week @ 2024-05-30 533829/week @ 2024-06-06 515720/week @ 2024-06-13 505852/week @ 2024-06-20 402548/week @ 2024-06-27

每月下载量 2,061,875
3,001 个crate中使用 (直接使用155个)

自定义许可证

145KB
2.5K SLoC

本软件按“原样”提供,且作者对本软件不提供任何明示或暗示的保证,包括但不限于适销性和适用性。在任何情况下,作者均不对任何特殊、直接、间接或后果性损害或任何因使用、数据丢失或利润损失而产生的任何损害承担责任,无论此类损害是否源于合同行为、疏忽或其他侵权行为,以及与使用或运行本软件有关的任何损害。

什么是webpki?

webpki是一个验证Web PKI(TLS/SSL)证书的库。webpki旨在为各种应用和设备提供Web PKI客户端的完整实现,包括嵌入式(IoT)应用、移动应用、桌面应用和服务器基础设施。webpki不仅旨在成为Web PKI的最佳实现,而且还要精确定义Web PKI是什么。

webpki是用Rust编写的,并使用ring进行签名验证。

webpki深受mozilla::pkix的影响。您可以在insanity::pkix: A New Certificate Path Building & Validation Library中了解关于mozilla::pkix和webpki背后理念的更多信息。

Rust编译器静态保证webpki中没有缓冲区溢出、使用后释放、双重释放、数据竞争等。webpki利用Rust的借用检查器确保其零复制解析策略既安全又高效。webpki永远不会在堆上分配内存,并且对使用的堆栈内存量保持严格的限制。webpki避免了所有不必要的PKIX功能,以保持其目标代码大小小。进一步减小webpki的代码大小是一个重要的目标。

此版本是第一个原型。计划进行大量改进,包括

  • 一个广泛的自动化测试套件。
  • 密钥固定。
  • 证书透明度支持。
  • 支持短期证书、OCSP stapling和CRLSet。
  • 允许在验证过程中自定义支持的算法、密钥大小和椭圆曲线。
  • 一个C语言包装器接口,允许在非Rust应用中使用webpki。
  • 精确指定Web PKI是什么的规范。

演示

请参阅https://github.com/ctz/rustls#example-code以获取使用webpki的示例。

许可证

请参阅LICENSE。本项目乐于接受任何非正式的版权/贡献者许可协议的pull请求。Pull请求必须明确指出所贡献代码的版权所有者,并且代码将在与现有webpki代码相同的条款下进行许可。

错误报告

请将错误报告为pull请求或问题跟踪器中的问题。webpki有一个完全披露漏洞政策。请勿尝试将此代码的任何安全漏洞私下报告给任何人。

依赖关系

~5–13MB
~234K SLoC