2 个不稳定版本
0.1.0-alpha.1 | 2024 年 5 月 5 日 |
---|---|
0.0.0 | 2024 年 5 月 5 日 |
#1095 在 解析器实现
8KB
82 行
ser_der
dercrate 的新类型,以允许使用 serde 进行反/序列化。
用法
将此添加到您的 Cargo.toml
[dependencies]
ser_der = { version = "0", features = ["alloc"] } # Features should match the ones of the der crate
der = { version = "0", features = ["alloc"] }
serde = { version = "1", features = ["derive"] }
然后您可以使用此 crate 提供的新类型,使用 serde 对 DER 编码的数据结构进行反/序列化。
#[derive(serde::Serialize, serde::Deserialize)]
struct MyStruct {
#[serde(with = "ser_der::asn1::ia5_string")]
bits: ser_der::asn1::IA5String,
}
所有新类型都实现了 Deref
,DerefMut
,From<[Newtype]> for [Type]
和 From<[Type]> for [Newtype]
反转到底层的 der
类型。
覆盖类型
- IA5String
- DateTime
- Document
- Length
- Any
- BitString
- GeneralizedTime
- Header
- Int
- Length
- Null
- ObjectIdentifier
- OctetString
- PrintableString
- SequenceOf
- SetOf
- Tag
- TeletexString
- Uint
- UtcTime
向上游到 der
此 crate 是一个临时解决方案,直到 der
crate 支持 serde 反/序列化。计划是将 serde 支持 upstream 到 der
crate。
依赖关系
~0.7–1.4MB
~32K SLoC