pub struct CoreJsonWebKey { /* private fields */ }
Expand description
Public or symmetric key expressed as a JSON Web Key.
Implementations§
Source§impl CoreJsonWebKey
impl CoreJsonWebKey
Sourcepub fn new_rsa(n: Vec<u8>, e: Vec<u8>, kid: Option<JsonWebKeyId>) -> Self
pub fn new_rsa(n: Vec<u8>, e: Vec<u8>, kid: Option<JsonWebKeyId>) -> Self
Instantiate a new RSA public key from the raw modulus (n
) and public exponent (e
),
along with an optional (but recommended) key ID.
The key ID is used for matching signed JSON Web Tokens with the keys used for verifying their signatures.
Sourcepub fn new_ec(
x: Vec<u8>,
y: Vec<u8>,
crv: CoreJsonCurveType,
kid: Option<JsonWebKeyId>,
) -> Self
pub fn new_ec( x: Vec<u8>, y: Vec<u8>, crv: CoreJsonCurveType, kid: Option<JsonWebKeyId>, ) -> Self
Instantiate a new EC public key from the raw x (x
) and y(y
) part of the curve,
along with an optional (but recommended) key ID.
The key ID is used for matching signed JSON Web Tokens with the keys used for verifying their signatures.
Trait Implementations§
Source§impl Clone for CoreJsonWebKey
impl Clone for CoreJsonWebKey
Source§fn clone(&self) -> CoreJsonWebKey
fn clone(&self) -> CoreJsonWebKey
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 CoreJsonWebKey
impl Debug for CoreJsonWebKey
Source§impl<'de> Deserialize<'de> for CoreJsonWebKey
impl<'de> Deserialize<'de> for CoreJsonWebKey
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 PartialEq for CoreJsonWebKey
impl PartialEq for CoreJsonWebKey
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 CoreJsonWebKey
impl Serialize for CoreJsonWebKey
impl StructuralPartialEq for CoreJsonWebKey
Auto Trait Implementations§
impl Freeze for CoreJsonWebKey
impl RefUnwindSafe for CoreJsonWebKey
impl Send for CoreJsonWebKey
impl Sync for CoreJsonWebKey
impl Unpin for CoreJsonWebKey
impl UnwindSafe for CoreJsonWebKey
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