serde_asn1_der 0.1.1

An ASN.1-DER subset for serde
Documentation
[![License](https://img.shields.io/badge/License-BSD--2--Clause-blue.svg)](https://opensource.org/licenses/BSD-2-Clause)
[![License](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
[![Travis CI](https://travis-ci.org/KizzyCode/serde_asn1_der.svg?branch=master)](https://travis-ci.org/KizzyCode/serde_asn1_der)
[![AppVeyor CI](https://ci.appveyor.com/api/projects/status/github/KizzyCode/serde_asn1_der?svg=true)](https://ci.appveyor.com/project/KizzyCode/serde-asn1-der)


# serde_asn1_der
This crate implements an ASN.1-DER subset for serde. 

The following types have built-in support:
 - `bool`: The ASN.1-BOOLEAN-type
 - `u8`, `u16`, `u32`, `u64`, `u128`, `usize`: The ASN.1-INTEGER-type
 - `()`: 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:
```rust
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
```rust
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();
}
```


# Dependencies
Obviously [`serde`](https://crates.io/crates/serde). Otherwise, it's dependency less.