Struct jwt_compact::alg::Ed25519
source · pub struct Ed25519;
Expand description
Integrity algorithm using digital signatures on the Ed25519 elliptic curve.
The name of the algorithm is specified as EdDSA
as per IANA registry.
Use with_specific_name()
to switch to non-standard Ed25519
.
Implementations§
Trait Implementations§
source§impl Algorithm for Ed25519
impl Algorithm for Ed25519
§type SigningKey = SecretKey
type SigningKey = SecretKey
Key used when issuing new tokens.
§type VerifyingKey = PublicKey
type VerifyingKey = PublicKey
Key used when verifying tokens. May coincide with
Self::SigningKey
for symmetric
algorithms (e.g., HS*
).source§fn name(&self) -> Cow<'static, str>
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
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
fn verify_signature( &self, signature: &Self::Signature, verifying_key: &Self::VerifyingKey, message: &[u8], ) -> bool
Verifies the
message
against the signature
and verifying_key
.source§impl PartialEq for Ed25519
impl PartialEq for Ed25519
source§impl SigningKey<Ed25519> for SecretKey
impl SigningKey<Ed25519> for SecretKey
source§fn from_slice(raw: &[u8]) -> Result<Self>
fn from_slice(raw: &[u8]) -> Result<Self>
Creates a key from
raw
bytes. Returns an error if the bytes do not represent
a valid key.source§fn to_verifying_key(&self) -> PublicKey
fn to_verifying_key(&self) -> PublicKey
Converts a signing key to a verification key.
source§fn as_bytes(&self) -> SecretBytes<'_>
fn as_bytes(&self) -> SecretBytes<'_>
Returns the key as raw bytes. Read more
source§impl VerifyingKey<Ed25519> for PublicKey
impl VerifyingKey<Ed25519> for PublicKey
impl Copy for Ed25519
impl Eq for Ed25519
impl StructuralPartialEq for Ed25519
Auto Trait Implementations§
impl Freeze for Ed25519
impl RefUnwindSafe for Ed25519
impl Send for Ed25519
impl Sync for Ed25519
impl Unpin for Ed25519
impl UnwindSafe for Ed25519
Blanket Implementations§
source§impl<A> AlgorithmExt for Awhere
A: Algorithm,
impl<A> AlgorithmExt for Awhere
A: Algorithm,
source§fn token<T>(
&self,
header: &Header<impl Serialize>,
claims: &Claims<T>,
signing_key: &<A as Algorithm>::SigningKey,
) -> Result<String, CreationError>where
T: Serialize,
fn token<T>(
&self,
header: &Header<impl Serialize>,
claims: &Claims<T>,
signing_key: &<A as Algorithm>::SigningKey,
) -> Result<String, CreationError>where
T: Serialize,
Creates a new token and serializes it to string.
source§fn compact_token<T>(
&self,
header: &Header<impl Serialize>,
claims: &Claims<T>,
signing_key: &<A as Algorithm>::SigningKey,
) -> Result<String, CreationError>where
T: Serialize,
fn compact_token<T>(
&self,
header: &Header<impl Serialize>,
claims: &Claims<T>,
signing_key: &<A as Algorithm>::SigningKey,
) -> Result<String, CreationError>where
T: Serialize,
Available on crate feature
ciborium
only.Creates a new token with CBOR-encoded claims and serializes it to string.
source§fn validator<'a, T>(
&'a self,
verifying_key: &'a <A as Algorithm>::VerifyingKey,
) -> Validator<'a, A, T>
fn validator<'a, T>( &'a self, verifying_key: &'a <A as Algorithm>::VerifyingKey, ) -> Validator<'a, A, T>
Creates a JWT validator for the specified verifying key and the claims type.
The validator can then be used to validate integrity of one or more tokens.
source§fn validate_integrity<T>(
&self,
token: &UntrustedToken<'_>,
verifying_key: &<A as Algorithm>::VerifyingKey,
) -> Result<Token<T>, ValidationError>where
T: DeserializeOwned,
fn validate_integrity<T>(
&self,
token: &UntrustedToken<'_>,
verifying_key: &<A as Algorithm>::VerifyingKey,
) -> Result<Token<T>, ValidationError>where
T: DeserializeOwned,
👎Deprecated: Use
.validator().validate()
for added flexibilityValidates the token integrity against the provided
verifying_key
.source§fn validate_for_signed_token<T>(
&self,
token: &UntrustedToken<'_>,
verifying_key: &<A as Algorithm>::VerifyingKey,
) -> Result<SignedToken<A, T>, ValidationError>where
T: DeserializeOwned,
fn validate_for_signed_token<T>(
&self,
token: &UntrustedToken<'_>,
verifying_key: &<A as Algorithm>::VerifyingKey,
) -> Result<SignedToken<A, T>, ValidationError>where
T: DeserializeOwned,
👎Deprecated: Use
.validator().validate_for_signed_token()
for added flexibilityValidates the token integrity against the provided
verifying_key
. Read moresource§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)