Algorithm

Trait Algorithm 

Source
pub trait Algorithm {
    type SigningKey;
    type VerifyingKey;
    type Signature: AlgorithmSignature;

    // Required methods
    fn name(&self) -> Cow<'static, str>;
    fn sign(
        &self,
        signing_key: &Self::SigningKey,
        message: &[u8],
    ) -> Self::Signature;
    fn verify_signature(
        &self,
        signature: &Self::Signature,
        verifying_key: &Self::VerifyingKey,
        message: &[u8],
    ) -> bool;
}
Expand description

JWT signing algorithm.

Required Associated Types§

Source

type SigningKey

Key used when issuing new tokens.

Source

type VerifyingKey

Key used when verifying tokens. May coincide with SigningKey for symmetric algorithms (e.g., HS*).

Source

type Signature: AlgorithmSignature

Signature produced by the algorithm.

Required Methods§

Source

fn name(&self) -> Cow<'static, str>

Returns the name of this algorithm, as mentioned in the alg field of the JWT header.

Source

fn sign( &self, signing_key: &Self::SigningKey, message: &[u8], ) -> Self::Signature

Signs a message with the signing_key.

Source

fn verify_signature( &self, signature: &Self::Signature, verifying_key: &Self::VerifyingKey, message: &[u8], ) -> bool

Verifies the message against the signature and verifying_key.

Implementors§