Struct const_oid::ObjectIdentifier[][src]

pub struct ObjectIdentifier { /* fields omitted */ }

Object identifier (OID).

OIDs are hierarchical structures consisting of “arcs”, i.e. integer identifiers.

Validity

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

  • The OID MUST have at least 3 arcs
  • The first arc MUST be within the range 0-2
  • The second arc MUST be within the range 0-39
  • The BER/DER encoding of the OID MUST be shorter than ObjectIdentifier::max_len

Implementations

impl ObjectIdentifier[src]

pub const MAX_LENGTH: usize[src]

Maximum length of a BER/DER-encoded OID in bytes.

pub const fn max_len() -> usize[src]

👎 Deprecated since 0.5.1:

please use ObjectIdentifier::MAX_LENGTH

Maximum length of a BER/DER-encoded OID in bytes.

pub const fn new(s: &str) -> Self[src]

Parse an ObjectIdentifier from the dot-delimited string form, e.g.:

use const_oid::ObjectIdentifier;

pub const MY_OID: ObjectIdentifier = ObjectIdentifier::new("1.2.840.113549.1.1.1");

Panics

This method panics in the event the OID is malformed according to the “Validity” rules given in the toplevel documentation for this type.

For that reason this method is ONLY recommended for use in constants (where it will generate a compiler error instead).

To parse an OID from a &str slice fallibly and without panicking, use the FromStr impl instead (or via str’s parse method).

pub fn from_arcs(arcs: &[Arc]) -> Result<Self>[src]

Parse an OID from a slice of Arc values (i.e. integers).

pub fn from_bytes(ber_bytes: &[u8]) -> Result<Self>[src]

Parse an OID from from its BER/DER encoding.

pub fn as_bytes(&self) -> &[u8][src]

Get the BER/DER serialization of this OID as bytes.

Note that this encoding omits the tag/length, and only contains the value portion of the encoded OID.

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

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

pub fn arcs(&self) -> Arcs<'_>

Notable traits for Arcs<'a>

impl<'a> Iterator for Arcs<'a> type Item = Arc;
[src]

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

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

Trait Implementations

impl AsRef<[u8]> for ObjectIdentifier[src]

impl Clone for ObjectIdentifier[src]

impl Copy for ObjectIdentifier[src]

impl Debug for ObjectIdentifier[src]

impl Display 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 Hash for ObjectIdentifier[src]

impl Ord for ObjectIdentifier[src]

impl PartialEq<ObjectIdentifier> for ObjectIdentifier[src]

impl PartialOrd<ObjectIdentifier> for ObjectIdentifier[src]

impl StructuralEq for ObjectIdentifier[src]

impl StructuralPartialEq for ObjectIdentifier[src]

impl TryFrom<&'_ [u8]> 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.