Struct wtransport::tls::PrivateKey

source ·
pub struct PrivateKey(/* private fields */);
Expand description

Represents a private key.

Implementations§

source§

impl PrivateKey

source

pub fn from_der_pkcs8(der: Vec<u8>) -> Self

Constructs a new PrivateKey from DER-encoded PKCS#8 binary data.

source

pub async fn load_pemfile( filepath: impl AsRef<Path> ) -> Result<Self, PemLoadError>

Loads the first private key found in a PEM-encoded file.

Filters out any PEM sections that are not private key.

Returns a PemLoadError::NoPrivateKeySection if no private key is found in the file.

source

pub async fn store_secret_pemfile( &self, filepath: impl AsRef<Path> ) -> Result<()>

Stores the private key in PEM format into a file asynchronously.

If the file does not exist, it will be created. If the file exists, its contents will be truncated before writing.

source

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

Returns a reference to the DER-encoded binary data of the private key.

source

pub fn to_secret_pem(&self) -> String

Converts the private key to PEM format.

source

pub fn clone_key(&self) -> Self

Clones this private key.

§Note

PrivateKey does not implement Clone directly to ensure that sensitive information is not cloned inadvertently. Implementing Clone directly could potentially lead to unintended cloning of sensitive data.

Trait Implementations§

source§

impl Debug for PrivateKey

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

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<'a, T, E> AsTaggedExplicit<'a, E> for T
where T: 'a,

source§

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

source§

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

source§

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

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> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> Same for T

§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where 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 T
where 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.
source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

source§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more