Struct PrivateKey

Source
pub struct PrivateKey<'a> { /* private fields */ }
Expand description

A private key used in client certificate auth.

The internal representation is DER form. The provided helpers for PEM translates to DER.

Deliberately not Clone to avoid accidental copies in memory.

Implementations§

Source§

impl<'a> PrivateKey<'a>

Source

pub fn from_der(kind: KeyKind, der: &'a [u8]) -> Self

Read private key in DER form.

Does not immediately validate whether the data provided is a valid DER. That validation is the responsibility of the TLS provider.

Source

pub fn from_pem(pem: &'a [u8]) -> Result<PrivateKey<'static>, Error>

Read a private key in PEM form.

This is a shorthand for parse_pem followed by picking the first found key. Fails with an error if there are no keys found in the PEM given.

Translates to DER format internally.

Source

pub fn kind(&self) -> KeyKind

The key kind

Source

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

This private key in DER (the internal) format.

Source

pub fn to_owned(&self) -> PrivateKey<'static>

Clones (allocates) to produce a static copy.

Trait Implementations§

Source§

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

Source§

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

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

impl<'a> Debug for PrivateKey<'a>

Source§

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

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

impl<'a> From<PrivateKey<'a>> for PemItem<'a>

Source§

fn from(value: PrivateKey<'a>) -> Self

Converts to this type from the input type.
Source§

impl<'a> Hash for PrivateKey<'a>

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for PrivateKey<'a>

§

impl<'a> RefUnwindSafe for PrivateKey<'a>

§

impl<'a> Send for PrivateKey<'a>

§

impl<'a> Sync for PrivateKey<'a>

§

impl<'a> Unpin for PrivateKey<'a>

§

impl<'a> UnwindSafe for PrivateKey<'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, 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.
Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> MaybeSendSync for T