[][src]Trait openidconnect::JsonWebKey

pub trait JsonWebKey<JS, JT, JU>: Clone + Debug + DeserializeOwned + Serialize + 'static where
    JS: JwsSigningAlgorithm<JT>,
    JT: JsonWebKeyType,
    JU: JsonWebKeyUse
{ fn key_id(&self) -> Option<&JsonWebKeyId>;
fn key_type(&self) -> &JT;
fn key_use(&self) -> Option<&JU>;
fn new_symmetric(key: Vec<u8>) -> Self;
fn verify_signature(
        &self,
        signature_alg: &JS,
        message: &[u8],
        signature: &[u8]
    ) -> Result<(), SignatureVerificationError>; }

JSON Web Key.

Required methods

fn key_id(&self) -> Option<&JsonWebKeyId>

Returns the key ID, or None if no key ID is specified.

fn key_type(&self) -> &JT

Returns the key type (e.g., RSA).

fn key_use(&self) -> Option<&JU>

Returns the allowed key usage (e.g., signing or encryption), or None if no usage is specified.

fn new_symmetric(key: Vec<u8>) -> Self

Initializes a new symmetric key or shared signing secret from the specified raw bytes.

fn verify_signature(
    &self,
    signature_alg: &JS,
    message: &[u8],
    signature: &[u8]
) -> Result<(), SignatureVerificationError>

Verifies the given signature using the given signature algorithm (signature_alg) over the given message.

Returns Ok if the signature is valid, or an Err otherwise.

Loading content...

Implementors

Loading content...