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 密码学
4,685,185 monthly downloads
用于 2,582 个crate (116 个直接使用)
74KB
1.5K SLoC
rustls-pki-types
此crate提供用于表示X.509证书、密钥和其他类型的数据结构,这些数据结构在rustls生态系统中广泛使用。它旨在供需要处理此类X.509类型的crate使用,例如rustls、rustls-webpki、rustls-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()
。或者,由于这些类型是不可变的,可以考虑将这些类型包裹在 Rc
或 Arc
中。
依赖关系
~0–255KB