3 个版本

0.5.2 2021 年 7 月 26 日
0.5.1 2021 年 7 月 26 日
0.5.0 2021 年 7 月 26 日

#1852 in 密码学

Download history 22/week @ 2024-04-01

130 每月下载量

MIT/Apache

57KB
1K SLoC

Rust 809 SLoC // 0.0% comments Go 141 SLoC Shell 79 SLoC // 0.1% comments

一个低级 X.509 解析和证书签名验证库。

barebones-x509 可以验证 X.509 证书的签名,以及由它们的私钥创建的证书。它还可以验证证书在给定时间是否有效。然而,它(按照设计)非常低级:它不知道任何 X.509 扩展,并且根本不解析唯一名称。它也不提供路径构建功能。因此,它不适用于与 Web PKI 一起使用;使用 webpki。

barebones-x509 的灵活性是一把双刃剑:它允许它在 webpki 不能使用的情况下使用,但它也使它变得非常危险。一般来说,barebones-x509 将接受 webpki 将接受的任何证书,但它也会接受 webpki 将拒绝的证书。如果您找到一个 barebones-x509 拒绝而 webpki 接受的证书,请将其作为错误报告。

barebones-x509 是为与 libp2p 一起使用而开发的,libp2p 使用 webpki 无法处理的证书。其裸机设计确保它可以处理几乎任何符合规范的 X.509 证书,但这也意味着应用程序负责确保证书具有有效的 X.509 扩展。barebones-x509 无法区分对 mozilla.org 和对 evilmalware.com 有效的证书!但是,barebones-x509 确实提供了在它之上构建更高层库所需的钩子。

与 webpki 一样,barebones-x509 是零拷贝和 #![no_std] 友好的。如果没有构建 alloc 功能,barebones-x509 不会依赖于需要堆分配的 ring 的功能,特别是 RSA。barebones-x509 应该永远不会在任何输入上引发恐慌。

许可证

barebones-x509 可以根据您的选择在 MIT 许可证Apache 许可证 2.0 版 下进行双许可。

依赖关系

~5.5–7.5MB
~229K SLoC