19个版本 (12个稳定版)

1.8.0 2024年8月6日
1.7.0 2024年5月7日
1.5.0 2024年4月23日
1.4.1 2024年3月27日
0.2.3 2023年11月28日

#96 in 密码学

Download history 650810/week @ 2024-05-03 719198/week @ 2024-05-10 724159/week @ 2024-05-17 739762/week @ 2024-05-24 814617/week @ 2024-05-31 783929/week @ 2024-06-07 798823/week @ 2024-06-14 806002/week @ 2024-06-21 849375/week @ 2024-06-28 921696/week @ 2024-07-05 948859/week @ 2024-07-12 1030836/week @ 2024-07-19 1072362/week @ 2024-07-26 1077224/week @ 2024-08-02 1163593/week @ 2024-08-09 1166489/week @ 2024-08-16

4,685,185 monthly downloads
用于 2,582 个crate (116 个直接使用)

MIT/Apache

74KB
1.5K SLoC

rustls-pki-types

Build Status Documentation Chat

此crate提供用于表示X.509证书、密钥和其他类型的数据结构,这些数据结构在rustls生态系统中广泛使用。它旨在供需要处理此类X.509类型的crate使用,例如rustlsrustls-webpkirustls-pemfile等。

这些crate中的一些曾经定义了自己简单的DER编码字节数据的包装。然而,为了避免不便的依赖关系,这些都被断开了。通过使用具有长期稳定API的通用低级crate的类型,我们希望避免不必要的依赖关系的缺点,同时提供crate之间的互操作性。

功能

  • rustls生态系统内不同crate之间的互操作性
  • 长期稳定的API
  • 无依赖
  • 支持no_std环境,可选支持alloc

DER和PEM

此crate中定义的许多类型表示DER编码的数据。DER是用于Web PKI规范中的ASN.1格式的二进制编码。作为一种二进制编码,它在内存中的存储相对紧凑。然而,作为一种二进制格式,它在人类和不便处理二进制数据的环境中并不容易处理。因此,许多工具和协议使用基于ASCII的DER编码,称为PEM。除了base64编码的DER之外,PEM对象由标头和尾行界定,这些行指示PEM blob中包含的对象类型。

可以使用rustls-pemfile crate解析PEM文件。

创建新的证书和密钥

此软件包不提供创建新证书或密钥的功能。但是,可以使用 rcgen 软件包来创建新的证书和密钥。

克隆私钥

出于最小化内存中私钥数据暴露的考虑,此软件包故意 不实现 Clone 在私钥类型上。

如果您想延长 PrivateKeyDer<'_> 的生命周期,请考虑使用 PrivateKeyDer::clone_key()。或者,由于这些类型是不可变的,可以考虑将这些类型包裹在 RcArc 中。

依赖关系

~0–255KB