Function der_parser::der::parse_der_tagged_explicit_g
source · [−]pub fn parse_der_tagged_explicit_g<'a, T, Output, F, E>(
tag: T,
f: F
) -> impl FnMut(&'a [u8]) -> IResult<&'a [u8], Output, E> where
F: Fn(&'a [u8], Header<'a>) -> IResult<&'a [u8], Output, E>,
E: ParseError<&'a [u8]> + From<BerError>,
T: Into<Tag>,
Expand description
Read a TAGGED EXPLICIT value (generic version)
The following parses [2] EXPLICIT INTEGER
:
fn parse_int_explicit(i:&[u8]) -> BerResult<u32> {
parse_der_tagged_explicit_g(2, move |content, hdr| {
let (rem, obj) = parse_der_integer(content)?;
let value = obj.as_u32()?;
Ok((rem, value))
})(i)
}
let res = parse_int_explicit(bytes);