#[non_exhaustive]pub enum CoreJsonWebKeyUse {
Signature,
Encryption,
Other(String),
}
Expand description
Usage restriction for a JSON Web key.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Signature
Key may be used for digital signatures.
Encryption
Key may be used for encryption.
Other(String)
Fallback case for other key uses not understood by this library.
Trait Implementations§
Source§impl AsRef<str> for CoreJsonWebKeyUse
impl AsRef<str> for CoreJsonWebKeyUse
Source§impl Clone for CoreJsonWebKeyUse
impl Clone for CoreJsonWebKeyUse
Source§fn clone(&self) -> CoreJsonWebKeyUse
fn clone(&self) -> CoreJsonWebKeyUse
Returns a duplicate of the value. Read more
1.0.0 · Source§const fn clone_from(&mut self, source: &Self)
const fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for CoreJsonWebKeyUse
impl Debug for CoreJsonWebKeyUse
Source§impl<'de> Deserialize<'de> for CoreJsonWebKeyUse
impl<'de> Deserialize<'de> for CoreJsonWebKeyUse
Source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl JsonWebKey<CoreJwsSigningAlgorithm, CoreJsonWebKeyType, CoreJsonWebKeyUse> for CoreJsonWebKey
impl JsonWebKey<CoreJwsSigningAlgorithm, CoreJsonWebKeyType, CoreJsonWebKeyUse> for CoreJsonWebKey
Source§fn key_id(&self) -> Option<&JsonWebKeyId>
fn key_id(&self) -> Option<&JsonWebKeyId>
Returns the key ID, or
None
if no key ID is specified.Source§fn key_type(&self) -> &CoreJsonWebKeyType
fn key_type(&self) -> &CoreJsonWebKeyType
Returns the key type (e.g., RSA).
Source§fn key_use(&self) -> Option<&CoreJsonWebKeyUse>
fn key_use(&self) -> Option<&CoreJsonWebKeyUse>
Returns the allowed key usage (e.g., signing or encryption), or
None
if no usage is
specified.Source§fn new_symmetric(key: Vec<u8>) -> Self
fn new_symmetric(key: Vec<u8>) -> Self
Initializes a new symmetric key or shared signing secret from the specified raw bytes.
Source§fn verify_signature(
&self,
signature_alg: &CoreJwsSigningAlgorithm,
message: &[u8],
signature: &[u8],
) -> Result<(), SignatureVerificationError>
fn verify_signature( &self, signature_alg: &CoreJwsSigningAlgorithm, message: &[u8], signature: &[u8], ) -> Result<(), SignatureVerificationError>
Verifies the given
signature
using the given signature algorithm (signature_alg
) over
the given message
. Read moreSource§impl JsonWebKeyUse for CoreJsonWebKeyUse
impl JsonWebKeyUse for CoreJsonWebKeyUse
Source§fn allows_signature(&self) -> bool
fn allows_signature(&self) -> bool
Returns true if the associated key may be used for digital signatures, or false otherwise.
Source§fn allows_encryption(&self) -> bool
fn allows_encryption(&self) -> bool
Returns true if the associated key may be used for encryption, or false otherwise.
Source§impl PartialEq for CoreJsonWebKeyUse
impl PartialEq for CoreJsonWebKeyUse
Source§impl PrivateSigningKey<CoreJwsSigningAlgorithm, CoreJsonWebKeyType, CoreJsonWebKeyUse, CoreJsonWebKey> for CoreHmacKey
impl PrivateSigningKey<CoreJwsSigningAlgorithm, CoreJsonWebKeyType, CoreJsonWebKeyUse, CoreJsonWebKey> for CoreHmacKey
Source§fn sign(
&self,
signature_alg: &CoreJwsSigningAlgorithm,
message: &[u8],
) -> Result<Vec<u8>, SigningError>
fn sign( &self, signature_alg: &CoreJwsSigningAlgorithm, message: &[u8], ) -> Result<Vec<u8>, SigningError>
Signs the given
message
using the given signature algorithm.Source§fn as_verification_key(&self) -> CoreJsonWebKey
fn as_verification_key(&self) -> CoreJsonWebKey
Converts this key to a JSON Web Key that can be used for verifying signatures.
Source§impl PrivateSigningKey<CoreJwsSigningAlgorithm, CoreJsonWebKeyType, CoreJsonWebKeyUse, CoreJsonWebKey> for CoreRsaPrivateSigningKey
impl PrivateSigningKey<CoreJwsSigningAlgorithm, CoreJsonWebKeyType, CoreJsonWebKeyUse, CoreJsonWebKey> for CoreRsaPrivateSigningKey
Source§fn sign(
&self,
signature_alg: &CoreJwsSigningAlgorithm,
msg: &[u8],
) -> Result<Vec<u8>, SigningError>
fn sign( &self, signature_alg: &CoreJwsSigningAlgorithm, msg: &[u8], ) -> Result<Vec<u8>, SigningError>
Signs the given
message
using the given signature algorithm.Source§fn as_verification_key(&self) -> CoreJsonWebKey
fn as_verification_key(&self) -> CoreJsonWebKey
Converts this key to a JSON Web Key that can be used for verifying signatures.
Source§impl Serialize for CoreJsonWebKeyUse
impl Serialize for CoreJsonWebKeyUse
impl StructuralPartialEq for CoreJsonWebKeyUse
Auto Trait Implementations§
impl Freeze for CoreJsonWebKeyUse
impl RefUnwindSafe for CoreJsonWebKeyUse
impl Send for CoreJsonWebKeyUse
impl Sync for CoreJsonWebKeyUse
impl Unpin for CoreJsonWebKeyUse
impl UnwindSafe for CoreJsonWebKeyUse
Blanket Implementations§
Source§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: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more