[−][src]Trait jwt_compact_preview::Algorithm
JWT signing algorithm.
Associated Types
type SigningKey
Key used when issuing new tokens.
type VerifyingKey
Key used when verifying tokens. May coincide with SigningKey for symmetric
algorithms (e.g., HS*).
type Signature: AlgorithmSignature
Signature produced by the algorithm.
Required methods
fn name(&self) -> Cow<'static, str>
Returns the name of this algorithm, as mentioned in the alg field of the JWT header.
fn sign(
&self,
signing_key: &Self::SigningKey,
message: &[u8]
) -> Self::Signature
&self,
signing_key: &Self::SigningKey,
message: &[u8]
) -> Self::Signature
Signs a message with the signing_key.
fn verify_signature(
&self,
signature: &Self::Signature,
verifying_key: &Self::VerifyingKey,
message: &[u8]
) -> bool
&self,
signature: &Self::Signature,
verifying_key: &Self::VerifyingKey,
message: &[u8]
) -> bool
Verifies the message against the signature and verifying_key.
Implementors
impl Algorithm for Ed25519[src]
type SigningKey = Ed25519SigningKey
type VerifyingKey = Ed25519VerifyingKey
type Signature = Signature
fn name(&self) -> Cow<'static, str>[src]
fn sign(
&self,
signing_key: &Self::SigningKey,
message: &[u8]
) -> Self::Signature[src]
&self,
signing_key: &Self::SigningKey,
message: &[u8]
) -> Self::Signature
fn verify_signature(
&self,
signature: &Self::Signature,
verifying_key: &Self::VerifyingKey,
message: &[u8]
) -> bool[src]
&self,
signature: &Self::Signature,
verifying_key: &Self::VerifyingKey,
message: &[u8]
) -> bool
impl Algorithm for Hs256[src]
type SigningKey = Hs256Key
type VerifyingKey = Hs256Key
type Signature = Output<Hmac<Sha256>>
fn name(&self) -> Cow<'static, str>[src]
fn sign(
&self,
signing_key: &Self::SigningKey,
message: &[u8]
) -> Self::Signature[src]
&self,
signing_key: &Self::SigningKey,
message: &[u8]
) -> Self::Signature
fn verify_signature(
&self,
signature: &Self::Signature,
verifying_key: &Self::VerifyingKey,
message: &[u8]
) -> bool[src]
&self,
signature: &Self::Signature,
verifying_key: &Self::VerifyingKey,
message: &[u8]
) -> bool
impl Algorithm for Hs384[src]
type SigningKey = Hs384Key
type VerifyingKey = Hs384Key
type Signature = Output<Hmac<Sha384>>
fn name(&self) -> Cow<'static, str>[src]
fn sign(
&self,
signing_key: &Self::SigningKey,
message: &[u8]
) -> Self::Signature[src]
&self,
signing_key: &Self::SigningKey,
message: &[u8]
) -> Self::Signature
fn verify_signature(
&self,
signature: &Self::Signature,
verifying_key: &Self::VerifyingKey,
message: &[u8]
) -> bool[src]
&self,
signature: &Self::Signature,
verifying_key: &Self::VerifyingKey,
message: &[u8]
) -> bool
impl Algorithm for Hs512[src]
type SigningKey = Hs512Key
type VerifyingKey = Hs512Key
type Signature = Output<Hmac<Sha512>>
fn name(&self) -> Cow<'static, str>[src]
fn sign(
&self,
signing_key: &Self::SigningKey,
message: &[u8]
) -> Self::Signature[src]
&self,
signing_key: &Self::SigningKey,
message: &[u8]
) -> Self::Signature
fn verify_signature(
&self,
signature: &Self::Signature,
verifying_key: &Self::VerifyingKey,
message: &[u8]
) -> bool[src]
&self,
signature: &Self::Signature,
verifying_key: &Self::VerifyingKey,
message: &[u8]
) -> bool
impl<A: Algorithm> Algorithm for Renamed<A>[src]
type SigningKey = A::SigningKey
type VerifyingKey = A::VerifyingKey
type Signature = A::Signature
fn name(&self) -> Cow<'static, str>[src]
fn sign(
&self,
signing_key: &Self::SigningKey,
message: &[u8]
) -> Self::Signature[src]
&self,
signing_key: &Self::SigningKey,
message: &[u8]
) -> Self::Signature
fn verify_signature(
&self,
signature: &Self::Signature,
verifying_key: &Self::VerifyingKey,
message: &[u8]
) -> bool[src]
&self,
signature: &Self::Signature,
verifying_key: &Self::VerifyingKey,
message: &[u8]
) -> bool
impl<D> Algorithm for Es256k<D> where
D: Digest<OutputSize = U32> + Default, [src]
D: Digest<OutputSize = U32> + Default,
type SigningKey = Es256kSigningKey
type VerifyingKey = Es256kVerifyingKey
type Signature = Signature
fn name(&self) -> Cow<'static, str>[src]
fn sign(
&self,
signing_key: &Self::SigningKey,
message: &[u8]
) -> Self::Signature[src]
&self,
signing_key: &Self::SigningKey,
message: &[u8]
) -> Self::Signature
fn verify_signature(
&self,
signature: &Self::Signature,
verifying_key: &Self::VerifyingKey,
message: &[u8]
) -> bool[src]
&self,
signature: &Self::Signature,
verifying_key: &Self::VerifyingKey,
message: &[u8]
) -> bool
impl<T: RsaVariant> Algorithm for T[src]
type SigningKey = RsaSigningKey
type VerifyingKey = RsaVerifyingKey
type Signature = Signature
fn name(&self) -> Cow<'static, str>[src]
fn sign(
&self,
signing_key: &Self::SigningKey,
message: &[u8]
) -> Self::Signature[src]
&self,
signing_key: &Self::SigningKey,
message: &[u8]
) -> Self::Signature
fn verify_signature(
&self,
signature: &Self::Signature,
verifying_key: &Self::VerifyingKey,
message: &[u8]
) -> bool[src]
&self,
signature: &Self::Signature,
verifying_key: &Self::VerifyingKey,
message: &[u8]
) -> bool