10#ifndef BOTAN_ECC_PUBLIC_KEY_BASE_H_
11#define BOTAN_ECC_PUBLIC_KEY_BASE_H_
13#include <botan/ec_group.h>
14#include <botan/pk_keys.h>
44 std::vector<uint8_t> public_key_bits()
const override;
72 std::vector<uint8_t>
DER_domain()
const {
return domain().DER_encode(domain_format()); }
86 size_t key_length()
const override;
87 size_t estimated_strength()
const override;
89 const BigInt& get_int_field(std::string_view field)
const override;
132 const BigInt& private_value()
const;
138 const BigInt& get_int_field(std::string_view field)
const override final;
152 bool with_modular_inverse =
false);
164 std::span<const uint8_t> key_bits,
165 bool with_modular_inverse =
false);
EC_PrivateKey & operator=(const EC_PrivateKey &other)=default
EC_PrivateKey(const EC_PrivateKey &other)=default
const EC_Group & domain() const
std::vector< uint8_t > DER_domain() const
EC_PublicKey(const EC_PublicKey &other)=default
EC_Group_Encoding m_domain_encoding
virtual ~EC_PublicKey()=default
EC_Group_Encoding domain_format() const
EC_PublicKey & operator=(const EC_PublicKey &other)=default
EC_Point_Format point_encoding() const
const EC_Point & public_point() const
#define BOTAN_DIAGNOSTIC_POP
#define BOTAN_DIAGNOSTIC_PUSH
#define BOTAN_DIAGNOSTIC_IGNORE_INHERITED_VIA_DOMINANCE
#define BOTAN_PUBLIC_API(maj, min)
std::vector< T, secure_allocator< T > > secure_vector