#codec #serialization #crypto #no-std #define

no-std flexiber

按照ISO 7816-4描述的BER-TLV进行编码和解码,不进行内存分配

2个版本

0.1.1 2023年11月22日
0.1.0 2021年11月20日

#710编码

Download history 90/week @ 2024-03-13 179/week @ 2024-03-20 145/week @ 2024-03-27 312/week @ 2024-04-03 210/week @ 2024-04-10 181/week @ 2024-04-17 211/week @ 2024-04-24 155/week @ 2024-05-01 202/week @ 2024-05-08 175/week @ 2024-05-15 248/week @ 2024-05-22 220/week @ 2024-05-29 284/week @ 2024-06-05 309/week @ 2024-06-12 327/week @ 2024-06-19 164/week @ 2024-06-26

1,117 每月下载量
5 个crate中使用 (3直接使用)

Apache-2.0 OR MIT

76KB
1.5K SLoC

flexiber

按照ISO 7816-4描述的BER-TLV进行编码和解码,不进行内存分配。

遵循在dersimple-tlv中采取的方法。

许可证

flexiber根据您的选择,受Apache许可证,版本2.0MIT许可证约束。
除非您明确表示,否则根据Apache-2.0许可证定义的,任何有意提交以包含在作品中的贡献,都应按照上述方式双许可,不附加任何其他条款或条件。


lib.rs:

flexiber

ISO 7816-4:2005中BER-TLV序列化格式的实现。

ITU-T X.690 (08/2015)定义了ASN.1的BER、CER和DER编码规则

完全相同的文档是ISO/IET 8825-1,它是免费提供的,不便于打包成一个ZIP文件中的单个PDF文件 :)

致谢

这个库是RustCrypto/utils/der的混搭。

der中吸取的核心想法是让Encodable需要一个encoded_length方法。通过在第一次遍历时递归调用此方法,避免了其他方法中所需的内存分配。

依赖关系

~110–530KB
~11K SLoC