rustls::pki_types

Struct PrivatePkcs8KeyDer

Source
pub struct PrivatePkcs8KeyDer<'a>(/* private fields */);
Expand description

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

PKCS#8 private keys are identified in PEM context as PRIVATE KEY and when stored in a file usually use a .pem or .key extension. For more on PEM files, refer to the crate documentation.

use rustls_pki_types::{PrivatePkcs8KeyDer, pem::PemObject};

// load from a PEM file
PrivatePkcs8KeyDer::from_pem_file("tests/data/nistp256key.pkcs8.pem").unwrap();
PrivatePkcs8KeyDer::from_pem_file("tests/data/rsa1024.pkcs8.pem").unwrap();

// or from a PEM byte slice...
PrivatePkcs8KeyDer::from_pem_slice(byte_slice).unwrap();

Implementations§

Source§

impl PrivatePkcs8KeyDer<'_>

Source

pub fn clone_key(&self) -> PrivatePkcs8KeyDer<'static>

Available on crate feature alloc only.

Clone the private key to a 'static value

Source

pub fn secret_pkcs8_der(&self) -> &[u8]

Yield the DER-encoded bytes of the private key

Trait Implementations§

Source§

impl Debug for PrivatePkcs8KeyDer<'_>

Source§

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

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

impl<'a> From<&'a [u8]> for PrivatePkcs8KeyDer<'a>

Source§

fn from(slice: &'a [u8]) -> PrivatePkcs8KeyDer<'a>

Converts to this type from the input type.
Source§

impl<'a> From<PrivatePkcs8KeyDer<'a>> for PrivateKeyDer<'a>

Source§

fn from(key: PrivatePkcs8KeyDer<'a>) -> PrivateKeyDer<'a>

Converts to this type from the input type.
Source§

impl<'a> From<Vec<u8>> for PrivatePkcs8KeyDer<'a>

Available on crate feature alloc only.
Source§

fn from(vec: Vec<u8>) -> PrivatePkcs8KeyDer<'a>

Converts to this type from the input type.
Source§

impl<'a> PartialEq for PrivatePkcs8KeyDer<'a>

Source§

fn eq(&self, other: &PrivatePkcs8KeyDer<'a>) -> 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<'a> Eq for PrivatePkcs8KeyDer<'a>

Source§

impl<'a> StructuralPartialEq for PrivatePkcs8KeyDer<'a>

Auto Trait Implementations§

§

impl<'a> Freeze for PrivatePkcs8KeyDer<'a>

§

impl<'a> RefUnwindSafe for PrivatePkcs8KeyDer<'a>

§

impl<'a> Send for PrivatePkcs8KeyDer<'a>

§

impl<'a> Sync for PrivatePkcs8KeyDer<'a>

§

impl<'a> Unpin for PrivatePkcs8KeyDer<'a>

§

impl<'a> UnwindSafe for PrivatePkcs8KeyDer<'a>

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> PemObject for T
where T: PemObjectFilter + From<Vec<u8>>,

Source§

fn from_pem(kind: SectionKind, der: Vec<u8>) -> Option<T>

Conversion from a PEM SectionKind and body data. Read more
Source§

fn from_pem_slice(pem: &[u8]) -> Result<Self, Error>

Decode the first section of this type from PEM contained in a byte slice. Read more
Source§

fn pem_slice_iter(pem: &[u8]) -> SliceIter<'_, Self>

Iterate over all sections of this type from PEM contained in a byte slice.
Source§

fn from_pem_file(file_name: impl AsRef<Path>) -> Result<Self, Error>

Available on crate feature std only.
Decode the first section of this type from the PEM contents of the named file. Read more
Source§

fn pem_file_iter( file_name: impl AsRef<Path>, ) -> Result<ReadIter<BufReader<File>, Self>, Error>

Available on crate feature std only.
Iterate over all sections of this type from the PEM contents of the named file. Read more
Source§

fn from_pem_reader(rd: impl Read) -> Result<Self, Error>

Available on crate feature std only.
Decode the first section of this type from PEM read from an io::Read.
Source§

fn pem_reader_iter<R>(rd: R) -> ReadIter<BufReader<R>, Self>
where R: Read,

Available on crate feature std only.
Iterate over all sections of this type from PEM present in an io::Read.
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: 24 bytes