Skip to main content

PublicKey

Struct PublicKey 

Source
pub struct PublicKey(/* private fields */);
Expand description

An RSA public key.

Implementations§

Source§

impl PublicKey

Source

pub fn from_der_rsa_public_key(der: &[u8]) -> Option<Self>

Parse a DER-encoded RSAPublicKey structure (from RFC 8017).

Source

pub fn to_der_rsa_public_key(&self) -> Buffer

Serialize to a DER-encoded RSAPublicKey structure (from RFC 8017).

Source

pub fn from_der_subject_public_key_info(spki: &[u8]) -> Option<Self>

Parse a DER-encoded SubjectPublicKeyInfo. This format is found in, for example, X.509 certificates.

Source

pub fn to_der_subject_public_key_info(&self) -> Buffer

Serialize to a DER-encoded SubjectPublicKeyInfo. This format is found in, for example, X.509 certificates.

Source

pub fn verify_pkcs1<Hash: Algorithm>( &self, signed_msg: &[u8], signature: &[u8], ) -> Result<(), InvalidSignatureError>

Verify that signature is a valid signature of a digest of signed_msg, by this public key. The digest of the message will be computed with the specified hash function.

Source

pub fn verify_pss<Hash: Algorithm>( &self, signed_msg: &[u8], signature: &[u8], ) -> Result<(), InvalidSignatureError>

Verify that signature is a valid RSA-PSS signature of a digest of signed_msg, by this public key. The specified hash function is used to compute the digest and for MGF1. The salt length is set to be equal to the digest length.

Trait Implementations§

Source§

impl Drop for PublicKey

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

fn pin_drop(self: Pin<&mut Self>)

🔬This is a nightly-only experimental API. (pin_ergonomics)
Execute the destructor for this type, but different to Drop::drop, it requires self to be pinned. Read more
Source§

impl Send for PublicKey

Source§

impl Sync for PublicKey

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<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.