Enum der_parser::ber::BerObjectContent[][src]

pub enum BerObjectContent<'a> {
    EndOfContent,
    Boolean(bool),
    Integer(&'a [u8]),
    BitString(u8BitStringObject<'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 [u8]),
    VideotexString(&'a [u8]),
    BmpString(&'a [u8]),
    UniversalString(&'a [u8]),
    Sequence(Vec<BerObject<'a>>),
    Set(Vec<BerObject<'a>>),
    UTCTime(&'a str),
    GeneralizedTime(&'a str),
    ObjectDescriptor(&'a [u8]),
    GraphicString(&'a [u8]),
    GeneralString(&'a [u8]),
    Optional(Option<Box<BerObject<'a>>>),
    Tagged(BerClassBerTagBox<BerObject<'a>>),
    Unknown(BerTag&'a [u8]),
}

BER object content

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(u8BitStringObject<'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 [u8])

T61String: raw object bytes

VideotexString(&'a [u8])

VideotexString: raw object bytes

BmpString(&'a [u8])

BmpString: raw object bytes

UniversalString(&'a [u8])

UniversalString: raw object bytes

Sequence(Vec<BerObject<'a>>)

SEQUENCE: list of objects

Set(Vec<BerObject<'a>>)

SET: list of objects

UTCTime(&'a str)

UTCTime: decoded string

GeneralizedTime(&'a str)

GeneralizedTime: decoded string

ObjectDescriptor(&'a [u8])

Object descriptor: raw object bytes

GraphicString(&'a [u8])

GraphicString: raw object bytes

GeneralString(&'a [u8])

GeneralString: raw object bytes

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

Optional object

Tagged(BerClassBerTagBox<BerObject<'a>>)

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

Unknown(BerTag&'a [u8])

Unknown object: object tag (copied from header), and raw content

Implementations

impl<'a> BerObjectContent<'a>[src]

pub fn as_u64(&self) -> Result<u64, BerError>[src]

pub fn as_u32(&self) -> Result<u32, BerError>[src]

pub fn as_bool(&self) -> Result<bool, BerError>[src]

pub fn as_oid(&self) -> Result<&Oid<'a>, BerError>[src]

pub fn as_oid_val(&self) -> Result<Oid<'a>, BerError>[src]

pub fn as_optional(&'a self) -> Result<Option<&BerObject<'a>>, BerError>[src]

pub fn as_tagged(
    &'a self
) -> Result<(BerClass, BerTag, &BerObject<'a>), BerError>
[src]

pub fn as_bitstring_ref(&self) -> Result<&BitStringObject<'_>, BerError>[src]

pub fn as_bitstring(&'a self) -> Result<BitStringObject<'a>, BerError>[src]

pub fn as_bitslice(&self) -> Result<&BitSlice<Msb0, u8>, BerError>[src]

Constructs a shared &BitSlice reference over the object data, if available as slice.

pub fn as_sequence(&self) -> Result<&Vec<BerObject<'a>>, BerError>[src]

pub fn as_set(&self) -> Result<&Vec<BerObject<'a>>, BerError>[src]

pub fn as_slice(&self) -> Result<&'a [u8], BerError>[src]

pub fn as_str(&self) -> Result<&'a str, BerError>[src]

Trait Implementations

impl<'a> Clone for BerObjectContent<'a>[src]

impl<'a> Debug for BerObjectContent<'a>[src]

impl<'a> From<BerObjectContent<'a>> for BerObject<'a>[src]

Build a DER object from a BerObjectContent.

impl<'a> PartialEq<BerObjectContent<'a>> for BerObjectContent<'a>[src]

impl<'a> StructuralPartialEq for BerObjectContent<'a>[src]

Auto Trait Implementations

impl<'a> RefUnwindSafe for BerObjectContent<'a>

impl<'a> Send for BerObjectContent<'a>

impl<'a> Sync for BerObjectContent<'a>

impl<'a> Unpin for BerObjectContent<'a>

impl<'a> UnwindSafe for BerObjectContent<'a>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Conv for T

impl<T> Conv for T

impl<T> FmtForward for T

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pipe for T where
    T: ?Sized

impl<T> Pipe for T

impl<T> PipeAsRef for T

impl<T> PipeBorrow for T

impl<T> PipeDeref for T

impl<T> PipeRef for T

impl<T> Tap for T

impl<T> Tap for T

impl<T, U> TapAsRef<U> for T where
    U: ?Sized

impl<T, U> TapBorrow<U> for T where
    U: ?Sized

impl<T> TapDeref for T

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> TryConv for T

impl<T> TryConv for T

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.