pub struct TbsCertList<'a> {
    pub version: Option<X509Version>,
    pub signature: AlgorithmIdentifier<'a>,
    pub issuer: X509Name<'a>,
    pub this_update: ASN1Time,
    pub next_update: Option<ASN1Time>,
    pub revoked_certificates: Vec<RevokedCertificate<'a>>,
    /* private fields */
}
Expand description

The sequence TBSCertList contains information about the certificates that have been revoked by the CA that issued the CRL.

RFC5280 definition:

TBSCertList  ::=  SEQUENCE  {
        version                 Version OPTIONAL,
                                     -- if present, MUST be v2
        signature               AlgorithmIdentifier,
        issuer                  Name,
        thisUpdate              Time,
        nextUpdate              Time OPTIONAL,
        revokedCertificates     SEQUENCE OF SEQUENCE  {
            userCertificate         CertificateSerialNumber,
            revocationDate          Time,
            crlEntryExtensions      Extensions OPTIONAL
                                     -- if present, version MUST be v2
                                  } OPTIONAL,
        crlExtensions           [0]  EXPLICIT Extensions OPTIONAL
                                     -- if present, version MUST be v2
                            }

Fields§

§version: Option<X509Version>§signature: AlgorithmIdentifier<'a>§issuer: X509Name<'a>§this_update: ASN1Time§next_update: Option<ASN1Time>§revoked_certificates: Vec<RevokedCertificate<'a>>

Implementations§

source§

impl<'a> TbsCertList<'a>

source

pub fn extensions(&self) -> &[X509Extension<'_>]

Returns the certificate extensions

source

pub fn iter_extensions(&self) -> impl Iterator<Item = &X509Extension<'_>>

Returns an iterator over the certificate extensions

source

pub fn find_extension(&self, oid: &Oid<'_>) -> Option<&X509Extension<'_>>

Searches for an extension with the given Oid.

Note: if there are several extensions with the same Oid, the first one is returned.

source

pub fn extensions_map( &self ) -> Result<HashMap<Oid<'_>, &X509Extension<'_>>, X509Error>

Builds and returns a map of extensions.

If an extension is present twice, this will fail and return DuplicateExtensions.

Trait Implementations§

source§

impl<'a> AsRef<[u8]> for TbsCertList<'a>

source§

fn as_ref(&self) -> &[u8]

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl<'a> Clone for TbsCertList<'a>

source§

fn clone(&self) -> TbsCertList<'a>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<'a> Debug for TbsCertList<'a>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'a> FromDer<'a, X509Error> for TbsCertList<'a>

source§

fn from_der(i: &'a [u8]) -> X509Result<'_, Self>

Attempt to parse input bytes into a DER object (enforcing constraints)
source§

impl<'a> PartialEq<TbsCertList<'a>> for TbsCertList<'a>

source§

fn eq(&self, other: &TbsCertList<'a>) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<'a> StructuralPartialEq for TbsCertList<'a>

Auto Trait Implementations§

§

impl<'a> RefUnwindSafe for TbsCertList<'a>

§

impl<'a> Send for TbsCertList<'a>

§

impl<'a> Sync for TbsCertList<'a>

§

impl<'a> Unpin for TbsCertList<'a>

§

impl<'a> UnwindSafe for TbsCertList<'a>

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere T: 'a,

source§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self, E>

source§

impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere T: 'a,

source§

fn implicit( self, class: Class, constructed: bool, tag: u32 ) -> TaggedParser<'a, Implicit, Self, E>

source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.