Struct der_parser::DerObject
[−]
[src]
pub struct DerObject<'a> { pub class: u8, pub structured: u8, pub tag: u8, pub content: DerObjectContent<'a>, }
Representation of a DER-encoded (X.690) object
Fields
class: u8
structured: u8
tag: u8
content: DerObjectContent<'a>
Methods
impl<'a> DerObject<'a>
[src]
pub fn from_header_and_content(
hdr: DerObjectHeader,
c: DerObjectContent
) -> DerObject
[src]
hdr: DerObjectHeader,
c: DerObjectContent
) -> DerObject
Build a DerObject from a header and content. Note: values are not checked, so the tag can be different from the real content, or flags can be invalid.
pub fn from_obj(c: DerObjectContent) -> DerObject
[src]
Build a DerObject from its content, using default flags (no class, correct tag, and structured flag set only for Set and Sequence)
pub fn from_int_slice(i: &'a [u8]) -> DerObject<'a>
[src]
Build a DER integer object from a slice containing an encoded integer
pub fn from_seq(l: Vec<DerObject>) -> DerObject
[src]
Build a DER sequence object from a vector of DER objects
pub fn from_set(l: Vec<DerObject>) -> DerObject
[src]
Build a DER set object from a vector of DER objects
pub fn as_u64(&self) -> Result<u64, DerError>
[src]
Attempt to read integer value from DER object. This can fail if the object is not an integer, or if it is too large.
let der_int = DerObject::from_obj(DerObjectContent::Integer(b"\x01\x00\x01")); assert_eq!( der_int.as_u64(), Ok(0x10001) );
pub fn as_u32(&self) -> Result<u32, DerError>
[src]
Attempt to read integer value from DER object. This can fail if the object is not an integer, or if it is too large.
let der_int = DerObject::from_obj(DerObjectContent::Integer(b"\x01\x00\x01")); assert_eq!( der_int.as_u32(), Ok(0x10001) );
pub fn as_bool(&self) -> Result<bool, DerError>
[src]
Attempt to read integer value from DER object. This can fail if the object is not a boolean.
pub fn as_oid(&self) -> Result<&Oid, DerError>
[src]
Attempt to read an OID value from DER object. This can fail if the object is not an OID.
Note that this function returns a reference to the OID. To get an owned value,
use as_oid_val
pub fn as_oid_val(&self) -> Result<Oid, DerError>
[src]
Attempt to read an OID value from DER object. This can fail if the object is not an OID.
pub fn as_context_specific(
&self
) -> Result<(u8, Option<Box<DerObject<'a>>>), DerError>
[src]
&self
) -> Result<(u8, Option<Box<DerObject<'a>>>), DerError>
Attempt to read the content from a context-specific DER object. This can fail if the object is not context-specific.
Note: the object is cloned.
pub fn as_bitstring_ref(&self) -> Result<&BitStringObject, DerError>
[src]
Attempt to read a reference to a BitString value from DER object. This can fail if the object is not an BitString.
Note that this function returns a reference to the BitString. To get an owned value,
use as_bitstring
pub fn as_bitstring(&'a self) -> Result<BitStringObject<'a>, DerError>
[src]
Attempt to read a BitString value from DER object. This can fail if the object is not an BitString.
pub fn as_sequence(&self) -> Result<&Vec<DerObject<'a>>, DerError>
[src]
Attempt to extract the list of objects from a DER sequence. This can fail if the object is not a sequence.
pub fn as_set(&self) -> Result<&Vec<DerObject<'a>>, DerError>
[src]
Attempt to extract the list of objects from a DER set. This can fail if the object is not a set.
pub fn as_slice(&self) -> Result<&'a [u8], DerError>
[src]
Attempt to get the content from a DER object, as a slice. This can fail if the object does not contain a type directly equivalent to a slice (e.g a sequence). This function mostly concerns string types, integers, or unknown DER objects.
pub fn is_universal(&self) -> bool
[src]
Test if object class is Universal
pub fn is_application(&self) -> bool
[src]
Test if object class is Application
pub fn is_contextspecific(&self) -> bool
[src]
Test if object class is Context-specific
pub fn is_private(&self) -> bool
[src]
Test if object class is Private
pub fn is_primitive(&self) -> bool
[src]
Test if object is primitive
pub fn is_constructed(&self) -> bool
[src]
Test if object is constructed
impl<'a> DerObject<'a>
[src]
ⓘImportant traits for DerObjectRefIterator<'a>pub fn ref_iter(&'a self) -> DerObjectRefIterator<'a>
[src]
impl<'a> DerObject<'a>
[src]
Trait Implementations
impl<'a> Debug for DerObject<'a>
[src]
fn fmt(&self, __arg_0: &mut Formatter) -> Result
[src]
Formats the value using the given formatter. Read more
impl<'a> Clone for DerObject<'a>
[src]
fn clone(&self) -> DerObject<'a>
[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl<'a> PartialEq for DerObject<'a>
[src]
fn eq(&self, __arg_0: &DerObject<'a>) -> bool
[src]
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, __arg_0: &DerObject<'a>) -> bool
[src]
This method tests for !=
.
impl<'a> From<Oid> for DerObject<'a>
[src]
Build a DER object from an OID.
impl<'a> From<DerObjectContent<'a>> for DerObject<'a>
[src]
Build a DER object from a DerObjectContent.
fn from(obj: DerObjectContent<'a>) -> DerObject<'a>
[src]
Performs the conversion.
impl<'a> IntoIterator for DerObject<'a>
[src]
type Item = DerObject<'a>
The type of the elements being iterated over.
type IntoIter = DerObjectIntoIterator<'a>
Which kind of iterator are we turning this into?
fn into_iter(self) -> Self::IntoIter
[src]
Creates an iterator from a value. Read more