2 unstable releases
Uses old Rust 2015
0.2.0 | Oct 10, 2016 |
---|---|
0.1.0 | Sep 17, 2016 |
#1726 in Encoding
76KB
1.5K
SLoC
asn1-cereal
A collection of encoders and decoders for BER, DER and ASN.1.
The grains of this library are a collection of traits and macros, that allow serialization and deserialization of rust types to and from ASN.1.
The Asn1Info
, BerSerialize
and BerDeserialize
traits are what
most users will want to use.
ASN.1 Elements
These pages will provide more details on specific ASN.1 constructs.
- SEQUENCE/SET
ber::serial::seq
- SEQUENCE/SET OF
ber::serial::seq_of
- CHOICE/ANY
ber::serial::choice
- A ::= B
ber::serial::alias
- OCTET STRING
ber::serial::prim
Example
#[macro_use] extern crate asn1_cereal; fn main() {
struct ShortSequence {
z: u64,
y: u32,
}
ber_sequence!(
ShortSequence,
"SHORT_SEQUENCE",
z;
y;
);
use asn1_cereal::BerSerialize;
let data = ShortSequence{ z: 1, y: 2 };
let mut bytes: Vec<u8> = Vec::new();
BerSerialize::serialize(&data, &mut bytes).unwrap();
}
Dependencies
~125KB