Skip to main content

PublicKey

Struct PublicKey 

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

The public portion of a PrivateKey.

§Internal Encoding

This key holds the raw DER key material bytes (without algorithm identifier).

Specifically this holds the subjectPublicKey bit string field of the SubjectPublicKeyInfo ASN.1 message as defined in RFC 5280 § 4.1.

Implementations§

Source§

impl<'a> PublicKey<'a>

Source

pub fn verify( &self, data: &[u8], sig: &Signature, ) -> Result<(), SignatureVerifyErr>

Verify that this key pair generated sig over data.

Source

pub fn key_id(&self) -> KeyId

Generate a KeyId that uniquely identifies this key, suitable for use as an X509 Subject Key Identifier.

Trait Implementations§

Source§

impl<'a> Debug for PublicKey<'a>

Source§

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

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

impl From<&PublicKey<'_>> for KeyId

Source§

fn from(key: &PublicKey<'_>) -> Self

Converts to this type from the input type.
Source§

impl<'a> PublicKeyData for PublicKey<'a>

Source§

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

The public key in DER format
Source§

fn algorithm(&self) -> &'static SignatureAlgorithm

The algorithm used by the key pair
Source§

fn subject_public_key_info(&self) -> Vec<u8>

The public key data in DER format Read more

Auto Trait Implementations§

§

impl<'a> Freeze for PublicKey<'a>

§

impl<'a> RefUnwindSafe for PublicKey<'a>

§

impl<'a> Send for PublicKey<'a>

§

impl<'a> Sync for PublicKey<'a>

§

impl<'a> Unpin for PublicKey<'a>

§

impl<'a> UnsafeUnpin for PublicKey<'a>

§

impl<'a> UnwindSafe for PublicKey<'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<'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, 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.