#asn1-der #asn-1 #pkcs #itu #crypto #avoid

no-std der

纯 Rust 集成友好实现,适用于 ITU X.690 描述的抽象语法符号一 (ASN.1) 的命名编码规则 (DER),并全面支持无堆栈 no_std 目标

31 个版本

0.8.0-rc.12024 年 8 月 18 日
0.8.0-rc.02024 年 7 月 26 日
0.8.0-pre.02024 年 1 月 7 日
0.7.9 2024 年 4 月 1 日
0.1.0 2020 年 12 月 22 日

#87 in 加密学

Download history 826723/week @ 2024-05-04 945313/week @ 2024-05-11 953070/week @ 2024-05-18 934091/week @ 2024-05-25 1045621/week @ 2024-06-01 988689/week @ 2024-06-08 958728/week @ 2024-06-15 974566/week @ 2024-06-22 859781/week @ 2024-06-29 992973/week @ 2024-07-06 969034/week @ 2024-07-13 1041696/week @ 2024-07-20 1042254/week @ 2024-07-27 1036378/week @ 2024-08-03 1143590/week @ 2024-08-10 947246/week @ 2024-08-17

4,345,359 每月下载量
用于 4,522 个 crates(75 个直接使用)

Apache-2.0 OR MIT

440KB
10K SLoC

RustCrypto: ASN.1 DER

Crate Docs Build Status Apache2/MIT licensed Rust Version Project Chat

纯 Rust 集成友好实现,适用于 ITU X.690 描述的抽象语法符号一 (ASN.1) 的命名编码规则 (DER)。

文档

关于

此包提供对 ASN.1 DER 的子集的 no_std 友好实现,这些子集对于解码/编码以下加密相关格式是必要的,这些格式由 RustCrypto 项目维护的 crates 实现:

  • cms: 密码学消息语法
  • pkcs1: RSA 密码学规范
  • pkcs5: 基于密码的密码学规范
  • pkcs8: 私钥信息语法规范
  • pkcs12: 个人信息交换语法
  • sec1: 椭圆曲线密码学
  • spki: X.509 主体公钥信息
  • x509-cert: 公钥基础设施证书
  • x509-ocsp: 在线证书状态协议

核心实现避免了任何堆的使用(通过在默认情况下关闭的 alloc 功能下分配的便利方法)。

此包中的 DER 解码器执行检查以确保输入文档处于规范形式,并在遇到非规范生成时返回错误。目前无法禁用这些检查。

功能

  • 对 PKCS/PKIX 文档使用的 ASN.1 类型提供丰富支持
  • 在解码时执行DER规范化的检查
  • no_std 友好:支持“无堆”使用
  • 可选支持 allocstd,如果需要的话
  • 没有硬依赖!具有可选集成的自包含实现,以下所有crate都是 no_std 友好的
    • const-oid:与const友好的OID实现
    • pem-rfc7468:PKCS/PKIX风格的PEM库,具有常量时间解码器/编码器
    • time crate:日期/时间库

最低支持的Rust版本

此crate至少需要 Rust 1.71

我们可能会在未来更改MSRV,但将伴随着小版本号的增加。

许可证

在您选择的情况下,根据以下任一许可证授权

贡献

除非您明确声明,否则根据Apache-2.0许可证定义的您有意提交的任何贡献,将按照上述方式双许可,不附加任何额外的条款或条件。

依赖关系

~0–375KB