33 lines
674 B
Rust
33 lines
674 B
Rust
#![cfg(feature = "std")]
|
|
|
|
use asn1_rs::*;
|
|
use hex_literal::hex;
|
|
|
|
#[derive(Debug, PartialEq, DerSequence, ToDerSequence)]
|
|
#[debug_derive]
|
|
pub struct T1<'a> {
|
|
a: u32,
|
|
b: u16,
|
|
c: u16,
|
|
d: &'a str,
|
|
}
|
|
|
|
#[test]
|
|
fn toder_sequence_lifetime() {
|
|
let input = &hex!("300f0201 01020102 020103 0c0461626364");
|
|
let (rem, t1) = T1::from_der(input).expect("parsing failed");
|
|
assert!(rem.is_empty());
|
|
assert_eq!(
|
|
t1,
|
|
T1 {
|
|
a: 1,
|
|
b: 2,
|
|
c: 3,
|
|
d: "abcd"
|
|
}
|
|
);
|
|
// serialize back data
|
|
let output = t1.to_der_vec().expect("serialization failed");
|
|
assert_eq!(&input[..], output);
|
|
}
|