[−][src]Trait jwt_compact::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 = SecretKey
type VerifyingKey = PublicKey
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 = MacResult<U32>
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 = MacResult<U48>
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 = MacResult<U64>
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 = SecretKey
type VerifyingKey = PublicKey
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