Struct Unverified

Source
pub struct Unverified { /* private fields */ }
Expand description

The Unverified step of the verification process

This type is the result of performing some basic validation on the parsed header, and can be used to verify the header

Implementations§

Source§

impl Unverified

Source

pub fn key_id(&self) -> &str

Get the Key ID from an Unverified type

This is useful for looking up the proper verification key to verify the request

Source

pub fn algorithm(&self) -> Option<&Algorithm>

Get the Algorithm used in the request, if one is present

If the algorithm is present and is not what an implementor expected, they should not attempt to verify the signature

Source

pub fn signing_string(&self) -> &str

Get the signing string used to create the signature

Source

pub fn signature(&self) -> &str

Get the signature itself

Source

pub fn verify<F, T>(&self, f: F) -> T
where F: FnOnce(&str, &str) -> T,

Verify the signature with the signature and the signing string

unverified.verify(|signature, signing_string| {
    let bytes = match base64::decode(signature) {
        Ok(bytes) => bytes,
        Err(_) => return false,
    };

    public_key
        .verify(bytes, signing_string)
        .unwrap_or(false)
})

Trait Implementations§

Source§

impl Debug for Unverified

Source§

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

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