[−][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