[][src]Struct der::ObjectIdentifier

pub struct ObjectIdentifier { /* fields omitted */ }
This is supported on crate feature oid only.

Object identifier (OID)

Implementations

impl ObjectIdentifier[src]

pub const fn new(arcs: &[u32]) -> ObjectIdentifier[src]

Create an ObjectIdentifier from a slice of integers, where each integer represents an "arc" (a.k.a. node) in the OID.

Panics

To enable const fn usage and work around current limitations thereof, this method panics in the event the OID is malformed.

For that reason this method is not recommended except for use in constants (where it will generate a compiler error instead). To parse an OID from a &[u32] slice without panicking on error, use TryFrom<&[u32]> instead.

In order for an OID to be valid, it must meet the following criteria:

  • The OID MUST have at least 3 arcs
  • The OID MUST NOT have more arcs than the MAX_ARCS constant
  • The first arc MUST be within the range 0-2
  • The second arc MUST be within the range 0-39

pub fn arc(&self, index: usize) -> Option<u32>[src]

Return the arc with the given index, if it exists.

pub fn arcs(&self) -> Arcs[src]

Iterate over the arcs (a.k.a. nodes) in an ObjectIdentifier.

Returns Arcs, an iterator over u32 values representing the value of each arc/node.

pub fn len(&self) -> usize[src]

Number of arcs in this ObjectIdentifier.

pub fn from_ber(bytes: &[u8]) -> Result<ObjectIdentifier, Error>[src]

Parse an OID from from its BER/DER encoding.

pub fn ber_len(&self) -> usize[src]

Get the length of this OID when serialized as ASN.1 BER.

pub fn write_ber(&self, bytes: &'a mut [u8]) -> Result<&'a [u8], Error>[src]

Write the BER encoding of this OID into the given slice, returning a new slice containing the written data.

Trait Implementations

impl Clone for ObjectIdentifier[src]

impl Copy for ObjectIdentifier[src]

impl Debug for ObjectIdentifier[src]

impl Display for ObjectIdentifier[src]

impl Encodable for ObjectIdentifier[src]

impl Eq for ObjectIdentifier[src]

impl<'_> From<&'_ ObjectIdentifier> for ObjectIdentifier[src]

impl FromStr for ObjectIdentifier[src]

type Err = Error

The associated error which can be returned from parsing.

impl PartialEq<ObjectIdentifier> for ObjectIdentifier[src]

impl StructuralEq for ObjectIdentifier[src]

impl StructuralPartialEq for ObjectIdentifier[src]

impl<'a> Tagged for ObjectIdentifier[src]

impl<'_> TryFrom<&'_ [u32]> for ObjectIdentifier[src]

type Error = Error

The type returned in the event of a conversion error.

impl<'_> TryFrom<Any<'_>> for ObjectIdentifier[src]

type Error = Error

The type returned in the event of a conversion error.

Auto Trait Implementations

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> From<T> for T[src]

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

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

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

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.