36 virtual std::vector<uint8_t>
sign(std::span<const uint8_t> d)
const = 0;
39 const uint8_t* contents,
41 const uint8_t* signature,
42 size_t signature_size) = 0;
45 const std::vector<uint8_t>& contents,
46 const std::vector<uint8_t>& signature)
49 contents.data(), contents.size(), signature.data(), signature.size());
55 const std::optional<std::string>& kid = std::nullopt)
const = 0;
Definition eddsa_key_pair.h:22
virtual Pem private_key_pem() const =0
virtual CurveID get_curve_id() const =0
virtual Pem public_key_pem() const =0
virtual bool verify(const uint8_t *contents, size_t contents_size, const uint8_t *signature, size_t signature_size)=0
virtual ~EdDSAKeyPair()=default
virtual bool verify(const std::vector< uint8_t > &contents, const std::vector< uint8_t > &signature)
Definition eddsa_key_pair.h:44
virtual std::vector< uint8_t > sign(std::span< const uint8_t > d) const =0
virtual JsonWebKeyEdDSAPrivate private_key_jwk_eddsa(const std::optional< std::string > &kid=std::nullopt) const =0
EdDSAKeyPairPtr make_eddsa_key_pair(CurveID curve_id=CurveID::CURVE25519)
Definition eddsa_key_pair.cpp:30
std::shared_ptr< EdDSAPublicKey > EdDSAPublicKeyPtr
Definition eddsa_key_pair.h:58
std::shared_ptr< EdDSAKeyPair > EdDSAKeyPairPtr
Definition eddsa_key_pair.h:59
CurveID
Definition curve.h:18
@ CURVE25519
The CURVE25519 curve.
EdDSAPublicKeyPtr make_eddsa_public_key(const Pem &pem)
Definition eddsa_key_pair.cpp:20