[−][src]Crate serde_asn1_der
serde_asn1_der
Welcome to serde_asn1_der
🎉
This crate implements an ASN.1-DER subset for serde based upon
asn1_der
.
The following types are supported:
bool
: The ASN.1-BOOLEAN-typeu8
,u16
,u32
,u64
,u128
,usize
: The ASN.1-INTEGER-type()
,Option
: The ASN.1-NULL-type&[u8]
,Vec<u8>
: The ASN.1-OctetString-type&str
,String
: The ASN.1-UTF8String-type- And everything sequence-like combined out of this types
With the serde_derive
-crate you can derive Serialize
and Deserialize
for all non-primitive
elements:
use serde_derive::{ Serialize, Deserialize }; #[derive(Serialize, Deserialize)] // Now our struct supports all DER-conversion-traits struct Address { street: String, house_number: u128, postal_code: u128, state: String, country: String } #[derive(Serialize, Deserialize)] // Now our struct supports all DER-conversion-traits too struct Customer { name: String, e_mail_address: String, postal_address: Address }
Example
use serde_asn1_der::{ to_vec, from_bytes }; use serde_derive::{ Serialize, Deserialize }; #[derive(Serialize, Deserialize)] struct TestStruct { number: u8, #[serde(with = "serde_bytes")] vec: Vec<u8>, tuple: (usize, ()) } fn main() { let plain = TestStruct{ number: 7, vec: b"Testolope".to_vec(), tuple: (4, ()) }; let serialized = to_vec(&plain).unwrap(); let deserialized: TestStruct = from_bytes(&serialized).unwrap(); }
Re-exports
pub extern crate asn1_der; |
pub use serde; |
Structs
VecBacking | A newtype wrapper around a |
Enums
SerdeAsn1DerError | A |
Functions
from_bytes | Deserializes |
from_reader | Copies the first top-level object from |
from_source | Copies the first top-level object from |
to_sink | Serializes |
to_vec | Serializes |
to_writer | Serializes |
Type Definitions
Result | Syntactic sugar for |