rustls_pemfile

Enum Item

Source
#[non_exhaustive]
pub enum Item { X509Certificate(CertificateDer<'static>), SubjectPublicKeyInfo(SubjectPublicKeyInfoDer<'static>), Pkcs1Key(PrivatePkcs1KeyDer<'static>), Pkcs8Key(PrivatePkcs8KeyDer<'static>), Sec1Key(PrivateSec1KeyDer<'static>), Crl(CertificateRevocationListDer<'static>), Csr(CertificateSigningRequestDer<'static>), }
Expand description

The contents of a single recognised block in a PEM file.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

X509Certificate(CertificateDer<'static>)

A DER-encoded x509 certificate.

Appears as “CERTIFICATE” in PEM files.

§

SubjectPublicKeyInfo(SubjectPublicKeyInfoDer<'static>)

A DER-encoded Subject Public Key Info; as specified in RFC 7468.

Appears as “PUBLIC KEY” in PEM files.

§

Pkcs1Key(PrivatePkcs1KeyDer<'static>)

A DER-encoded plaintext RSA private key; as specified in PKCS #1/RFC 3447

Appears as “RSA PRIVATE KEY” in PEM files.

§

Pkcs8Key(PrivatePkcs8KeyDer<'static>)

A DER-encoded plaintext private key; as specified in PKCS #8/RFC 5958

Appears as “PRIVATE KEY” in PEM files.

§

Sec1Key(PrivateSec1KeyDer<'static>)

A Sec1-encoded plaintext private key; as specified in RFC 5915

Appears as “EC PRIVATE KEY” in PEM files.

§

Crl(CertificateRevocationListDer<'static>)

A Certificate Revocation List; as specified in RFC 5280

Appears as “X509 CRL” in PEM files.

§

Csr(CertificateSigningRequestDer<'static>)

A Certificate Signing Request; as specified in RFC 2986

Appears as “CERTIFICATE REQUEST” in PEM files.

Trait Implementations§

Source§

impl Debug for Item

Source§

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

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

impl PartialEq for Item

Source§

fn eq(&self, other: &Item) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for Item

Auto Trait Implementations§

§

impl Freeze for Item

§

impl RefUnwindSafe for Item

§

impl Send for Item

§

impl Sync for Item

§

impl Unpin for Item

§

impl UnwindSafe for Item

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where 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 T
where 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, U> TryFrom<U> for T
where U: Into<T>,

Source§

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 T
where U: TryFrom<T>,

Source§

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.

Layout§

Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.

Size: 32 bytes

Size for each variant:

  • X509Certificate: 24 bytes
  • SubjectPublicKeyInfo: 24 bytes
  • Pkcs1Key: 24 bytes
  • Pkcs8Key: 24 bytes
  • Sec1Key: 24 bytes
  • Crl: 24 bytes
  • Csr: 24 bytes