#der #parser #asn-1 #ring #tags #version #byte

已删除 ring-der

是 *ring* 的 ASN.1 DER 解析器的扩展版本。

0.16.19 2021年7月8日
0.16.19-1 2021年7月9日

#35 in #der

ISC 许可证

15KB
276 代码行

ring-der

这个crate提供了ring::io::der中的DER解析器的扩展版本。

扩展内容

  • 所有在X.680第8.4节中定义的标签类型;
  • 高标签号,对于标签号为31及以上的情况;
  • 使用anyhow进行错误处理

此crate提供了解析ASN.1数据的原语。用户可以完全控制如何解释字节。

示例

use ring_der::der::parse_boolean;
use ring_der::Error;

let input = untrusted::Input::from(&[0x01, 0x01, 0xff]);
let result = input.read_all(Error::IncompleteRead, |r| parse_boolean(r));
assert_eq!(result, Ok(true));

许可证

请参阅LICENSE


lib.rs:

ring-der

这个库提供了ring::io::der中DER解析器的扩展版本。

新增内容

  • 高标签号,对于标签号为31及以上的情况;
  • SET和SET OF;
  • 枚举类型;
  • GeneralizedTime;
  • anyhow兼容

示例

use ring_der::der::parse_boolean;
use ring_der::Error;

let input = untrusted::Input::from(&[0x01, 0x01, 0xff]);
let result = input.read_all(Error::IncompleteRead, |r| parse_boolean(r));
assert_eq!(result, Ok(true));

依赖关系

~0.3–0.8MB
~19K SLoC