28 [[nodiscard]]
virtual size_t key_size()
const = 0;
43 const uint8_t* label =
nullptr,
44 size_t label_size = 0) = 0;
55 const std::vector<uint8_t>& input,
56 const std::optional<std::vector<std::uint8_t>>& label = std::nullopt) = 0;
72 const std::optional<std::string>& kid = std::nullopt)
const = 0;
75 const uint8_t* contents,
77 const uint8_t* signature,
78 size_t signature_size,
81 size_t salt_length = 0) = 0;
86 const uint8_t* signature,
87 size_t signature_size,
90 size_t salt_length = 0) = 0;
Definition rsa_public_key.h:22
virtual std::vector< uint8_t > rsa_oaep_wrap(const std::vector< uint8_t > &input, const std::optional< std::vector< std::uint8_t > > &label=std::nullopt)=0
virtual size_t key_size() const =0
virtual std::vector< uint8_t > public_key_der() const =0
virtual ~RSAPublicKey()=default
virtual Pem public_key_pem() const =0
virtual JsonWebKeyRSAPublic public_key_jwk(const std::optional< std::string > &kid=std::nullopt) const =0
virtual std::vector< uint8_t > rsa_oaep_wrap(const uint8_t *input, size_t input_size, const uint8_t *label=nullptr, size_t label_size=0)=0
virtual bool verify(const uint8_t *contents, size_t contents_size, const uint8_t *signature, size_t signature_size, MDType md_type, RSAPadding padding=RSAPadding::PKCS_PSS, size_t salt_length=0)=0
virtual bool verify_hash(const uint8_t *hash, size_t hash_size, const uint8_t *signature, size_t signature_size, MDType md_type, RSAPadding padding=RSAPadding::PKCS_PSS, size_t salt_length=0)=0
RSAPublicKeyPtr make_rsa_public_key(const uint8_t *data, size_t size)
Definition rsa_public_key.cpp:283
MDType
Definition md_type.h:10
RSAPadding
Definition rsa_public_key.h:16
std::shared_ptr< RSAPublicKey > RSAPublicKeyPtr
Definition rsa_public_key.h:93