SimpleAsn1Readable

Trait SimpleAsn1Readable 

Source
pub trait SimpleAsn1Readable<'a>: Sized {
    const TAG: Tag;

    // Required method
    fn parse_data(data: &'a [u8]) -> ParseResult<Self>;
}
Expand description

Types with a fixed-tag that can be parsed as DER ASN.1

Required Associated Constants§

Source

const TAG: Tag

The ASN.1 tag that this type expects when parsing.

Required Methods§

Source

fn parse_data(data: &'a [u8]) -> ParseResult<Self>

Parse the value from the given data bytes.

This method receives the value portion of a TLV (without the tag or length) and should parse it into the appropriate type.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl SimpleAsn1Readable<'_> for bool

Source§

impl SimpleAsn1Readable<'_> for i8

Source§

const TAG: Tag

Source§

fn parse_data(data: &[u8]) -> ParseResult<Self>

Source§

impl SimpleAsn1Readable<'_> for i16

Source§

const TAG: Tag

Source§

fn parse_data(data: &[u8]) -> ParseResult<Self>

Source§

impl SimpleAsn1Readable<'_> for i32

Source§

const TAG: Tag

Source§

fn parse_data(data: &[u8]) -> ParseResult<Self>

Source§

impl SimpleAsn1Readable<'_> for i64

Source§

const TAG: Tag

Source§

fn parse_data(data: &[u8]) -> ParseResult<Self>

Source§

impl SimpleAsn1Readable<'_> for u8

Source§

const TAG: Tag

Source§

fn parse_data(data: &[u8]) -> ParseResult<Self>

Source§

impl SimpleAsn1Readable<'_> for u16

Source§

const TAG: Tag

Source§

fn parse_data(data: &[u8]) -> ParseResult<Self>

Source§

impl SimpleAsn1Readable<'_> for u32

Source§

const TAG: Tag

Source§

fn parse_data(data: &[u8]) -> ParseResult<Self>

Source§

impl SimpleAsn1Readable<'_> for u64

Source§

const TAG: Tag

Source§

fn parse_data(data: &[u8]) -> ParseResult<Self>

Source§

impl<'a> SimpleAsn1Readable<'a> for &'a [u8]

Source§

const TAG: Tag

Source§

fn parse_data(data: &'a [u8]) -> ParseResult<&'a [u8]>

Source§

impl<'a, T: SimpleAsn1Readable<'a>> SimpleAsn1Readable<'a> for Box<T>

Source§

const TAG: Tag = T::TAG

Source§

fn parse_data(data: &'a [u8]) -> ParseResult<Self>

Source§

impl<const N: usize> SimpleAsn1Readable<'_> for [u8; N]

Source§

const TAG: Tag

Source§

fn parse_data(data: &[u8]) -> ParseResult<[u8; N]>

Implementors§

Source§

impl SimpleAsn1Readable<'_> for GeneralizedTime

Source§

impl SimpleAsn1Readable<'_> for OwnedBigInt

Source§

impl SimpleAsn1Readable<'_> for OwnedBigUint

Source§

impl SimpleAsn1Readable<'_> for UtcTime

Source§

impl SimpleAsn1Readable<'_> for X509GeneralizedTime

Source§

impl SimpleAsn1Readable<'_> for Null

Source§

impl<'a> SimpleAsn1Readable<'a> for BMPString<'a>

Source§

impl<'a> SimpleAsn1Readable<'a> for BigInt<'a>

Source§

impl<'a> SimpleAsn1Readable<'a> for BigUint<'a>

Source§

impl<'a> SimpleAsn1Readable<'a> for BitString<'a>

Source§

impl<'a> SimpleAsn1Readable<'a> for Enumerated

Source§

impl<'a> SimpleAsn1Readable<'a> for IA5String<'a>

Source§

impl<'a> SimpleAsn1Readable<'a> for ObjectIdentifier

Source§

impl<'a> SimpleAsn1Readable<'a> for OwnedBitString

Source§

impl<'a> SimpleAsn1Readable<'a> for PrintableString<'a>

Source§

impl<'a> SimpleAsn1Readable<'a> for Sequence<'a>

Source§

impl<'a> SimpleAsn1Readable<'a> for UniversalString<'a>

Source§

impl<'a> SimpleAsn1Readable<'a> for Utf8String<'a>

Source§

impl<'a> SimpleAsn1Readable<'a> for VisibleString<'a>

Source§

impl<'a, T: Asn1Readable<'a> + 'a> SimpleAsn1Readable<'a> for SetOf<'a, T>

Source§

impl<'a, T: Asn1Readable<'a> + 'a, const MINIMUM_LEN: usize, const MAXIMUM_LEN: usize> SimpleAsn1Readable<'a> for SequenceOf<'a, T, MINIMUM_LEN, MAXIMUM_LEN>

Source§

impl<'a, T: Asn1Readable<'a>> SimpleAsn1Readable<'a> for OctetStringEncoded<T>

Source§

impl<'a, T: Asn1Readable<'a>, const TAG: u32> SimpleAsn1Readable<'a> for Explicit<T, TAG>

Source§

impl<'a, T: SimpleAsn1Readable<'a>, const TAG: u32> SimpleAsn1Readable<'a> for Implicit<T, TAG>