1#ifndef TENDUKE_JWK_JWKSVALIDATOR_H 
    2#define TENDUKE_JWK_JWKSVALIDATOR_H 
    5#include "./JWKSDownloader.h" 
    6#include "../crypto/MessageDigest.h" 
    7#include "../jwt/JWTSignatureValidator.h" 
   38            const std::shared_ptr<tenduke::jwk::JWKS> &keySet,
 
   40            bool requireValidAlgClaim = 
true 
   47            std::size_t payloadLength,
 
   48            const unsigned char * signatureBytes,
 
   49            std::size_t signatureLengthB
 
   58    virtual std::unique_ptr<tenduke::jwk::JWK> 
findJWK(
const std::string &keyId) 
const;
 
   64    const std::shared_ptr<tenduke::jwk::JWKS> keySet;
 
   71    const bool requireValidAlgClaim;
 
 
JWKSSignatureValidator(const std::shared_ptr< tenduke::jwk::JWKS > &keySet, tenduke::crypto::MessageDigest::Algorithm validationAlgorithm=tenduke::crypto::MessageDigest::Algorithm::NONE, bool requireValidAlgClaim=true)
Constructs new instance.
Definition JWKSSignatureValidator.cpp:88
 
Algorithm
Supported algorithms.
Definition MessageDigest.h:24
 
JSON object element.
Definition JSONObject.h:16
 
JWKSSignatureValidator(const std::shared_ptr< tenduke::jwk::JWKS > &keySet, tenduke::crypto::MessageDigest::Algorithm validationAlgorithm=tenduke::crypto::MessageDigest::Algorithm::NONE, bool requireValidAlgClaim=true)
Constructs new instance.
Definition JWKSSignatureValidator.cpp:88
 
virtual std::unique_ptr< tenduke::jwk::JWK > findJWK(const std::string &keyId) const
Locates the key from cache by id.
Definition JWKSSignatureValidator.cpp:70
 
virtual void mergeKeys(const tenduke::jwk::JWKS &newKeySet) const
Merges keys from newKeySet to the contained keySet.
Definition JWKSSignatureValidator.cpp:81
 
bool validate(const tenduke::json::JSONObject *jwtHeader, const char *payload, std::size_t payloadLength, const unsigned char *signatureBytes, std::size_t signatureLengthB) const override
Validates JWT signature.
Definition JWKSSignatureValidator.cpp:13
 
JSON Web Key Set, a container for one or more tenduke::jwk::JWKs, indexed by the JWK key ID.
Definition JWKS.h:17
 
Service for validating the JWT-signature.
Definition JWTSignatureValidator.h:15
 
Support for JSON Web Keys.
Definition DynamicJWKSSignatureValidator.h:9
 
Root for classes, functions and globals of 10Duke C++ Client.
Definition APIRequest.h:4