37 const uint8_t* contents,
58 const uint8_t* contents,
65 return verify(contents, contents_size, sig, sig_size, md_type, hash);
78 const std::vector<uint8_t>& contents,
79 const std::vector<uint8_t>& signature)
82 contents.data(), contents.size(), signature.data(), signature.size());
96 const std::vector<uint8_t>& hash,
97 const std::vector<uint8_t>& signature,
101 hash.data(), hash.size(), signature.data(), signature.size(), md_type);
145 std::vector<uint8_t>
x;
146 std::vector<uint8_t>
y;
155 const std::optional<std::string>& kid = std::nullopt)
const = 0;
Definition ec_public_key.h:19
virtual JsonWebKeyECPublic public_key_jwk(const std::optional< std::string > &kid=std::nullopt) const =0
virtual Coordinates coordinates() const =0
virtual bool verify_hash(const uint8_t *hash, size_t hash_size, const uint8_t *sig, size_t sig_size, MDType md_type)=0
virtual bool verify(const uint8_t *contents, size_t contents_size, const uint8_t *sig, size_t sig_size, MDType md_type, HashBytes &bytes)=0
virtual std::vector< uint8_t > public_key_raw() const =0
virtual bool verify(const std::vector< uint8_t > &contents, const std::vector< uint8_t > &signature)
Definition ec_public_key.h:77
virtual bool verify_hash(const std::vector< uint8_t > &hash, const std::vector< uint8_t > &signature, MDType md_type)
Definition ec_public_key.h:95
virtual std::vector< uint8_t > public_key_der() const =0
virtual Pem public_key_pem() const =0
bool verify(const uint8_t *contents, size_t contents_size, const uint8_t *sig, size_t sig_size, MDType md_type=MDType::NONE)
Definition ec_public_key.h:57
virtual ~ECPublicKey()=default
virtual CurveID get_curve_id() const =0
CurveID
Definition curve.h:18
MDType
Definition md_type.h:10
std::vector< uint8_t > HashBytes
Definition hash_bytes.h:10
std::shared_ptr< ECPublicKey > ECPublicKeyPtr
Definition ec_public_key.h:158
ECPublicKeyPtr make_ec_public_key(const Pem &pem)
Definition ec_public_key.cpp:331
Definition ec_public_key.h:144
std::vector< uint8_t > y
Definition ec_public_key.h:146
std::vector< uint8_t > x
Definition ec_public_key.h:145