rocket::mtls::x509::der_parser::der

Type Alias DerObjectContent

Source
pub type DerObjectContent<'a> = BerObjectContent<'a>;
Available on crate feature mtls only.
Expand description

BER object content

This is the same object as BerObjectContent.

Aliased Type§

enum DerObjectContent<'a> {
Show 28 variants EndOfContent, Boolean(bool), Integer(&'a [u8]), BitString(u8, BitStringObject<'a>), OctetString(&'a [u8]), Null, Enum(u64), OID(Oid<'a>), RelativeOID(Oid<'a>), NumericString(&'a str), VisibleString(&'a str), PrintableString(&'a str), IA5String(&'a str), UTF8String(&'a str), T61String(&'a str), VideotexString(&'a str), BmpString(&'a str), UniversalString(&'a [u8]), Sequence(Vec<BerObject<'a>>), Set(Vec<BerObject<'a>>), UTCTime(ASN1DateTime), GeneralizedTime(ASN1DateTime), ObjectDescriptor(&'a str), GraphicString(&'a str), GeneralString(&'a str), Optional(Option<Box<BerObject<'a>>>), Tagged(Class, Tag, Box<BerObject<'a>>), Unknown(Any<'a>),
}

Variants§

§

EndOfContent

EOC (no content)

§

Boolean(bool)

BOOLEAN: decoded value

§

Integer(&'a [u8])

INTEGER: raw bytes

Note: the reason to store the raw bytes is that integers have non-finite length in the spec, and also that the raw encoding is also important for some applications.

To extract the number, see the as_u64, as_u32, as_bigint and as_biguint methods.

§

BitString(u8, BitStringObject<'a>)

BIT STRING: number of unused bits, and object

§

OctetString(&'a [u8])

OCTET STRING: slice

§

Null

NULL (no content)

§

Enum(u64)

ENUMERATED: decoded enum number

§

OID(Oid<'a>)

OID

§

RelativeOID(Oid<'a>)

RELATIVE OID

§

NumericString(&'a str)

NumericString: decoded string

§

VisibleString(&'a str)

VisibleString: decoded string

§

PrintableString(&'a str)

PrintableString: decoded string

§

IA5String(&'a str)

IA5String: decoded string

§

UTF8String(&'a str)

UTF8String: decoded string

§

T61String(&'a str)

T61String: decoded string

§

VideotexString(&'a str)

VideotexString: decoded string

§

BmpString(&'a str)

BmpString: decoded string

§

UniversalString(&'a [u8])

UniversalString: raw object bytes

§

Sequence(Vec<BerObject<'a>>)

SEQUENCE: list of objects

§

Set(Vec<BerObject<'a>>)

SET: list of objects

§

UTCTime(ASN1DateTime)

UTCTime: decoded string

§

GeneralizedTime(ASN1DateTime)

GeneralizedTime: decoded string

§

ObjectDescriptor(&'a str)

Object descriptor: decoded string

§

GraphicString(&'a str)

GraphicString: decoded string

§

GeneralString(&'a str)

GeneralString: decoded string

§

Optional(Option<Box<BerObject<'a>>>)

Optional object

§

Tagged(Class, Tag, Box<BerObject<'a>>)

Tagged object (EXPLICIT): class, tag and content of inner object

§

Unknown(Any<'a>)

Private or Unknown (for ex. unknown tag) object