10 #include <botan/ecc_key.h> 11 #include <botan/x509_key.h> 12 #include <botan/numthry.h> 13 #include <botan/der_enc.h> 14 #include <botan/ber_dec.h> 15 #include <botan/secmem.h> 16 #include <botan/point_gfp.h> 17 #include <botan/internal/assert.h> 23 domain_params(dom_par), public_key(pub_point),
64 "EC-key object whose corresponding domain " 65 "parameters are without oid");
73 throw Invalid_State(
"EC_PrivateKey::private_value - uninitialized");
96 "ECC private key was not on the curve");
103 .
encode(static_cast<size_t>(1))
119 .decode_octet_string_bigint(private_key);
125 "Loaded ECC private key not on the curve");
SecureVector< byte > get_contents()
const BigInt & private_value() const
MemoryVector< byte > pkcs8_private_key() const
const PointGFp & get_base_point() const
void set_parameter_encoding(EC_Group_Encoding enc)
const PointGFp & public_point() const
BER_Decoder & decode_and_check(const T &expected, const std::string &error_msg)
PointGFp OS2ECP(const byte data[], size_t data_len, const CurveGFp &curve)
std::invalid_argument Invalid_Argument
SecureVector< byte > parameters
static BigInt random_integer(RandomNumberGenerator &rng, const BigInt &min, const BigInt &max)
BER_Decoder start_cons(ASN1_Tag, ASN1_Tag=UNIVERSAL)
AlgorithmIdentifier algorithm_identifier() const
#define BOTAN_ASSERT(expr, msg)
SecureVector< byte > EC2OSP(const PointGFp &point, byte format)
DER_Encoder & encode(bool b)
bool check_key(RandomNumberGenerator &rng, bool strong) const
virtual OID get_oid() const
const EC_Group & domain() const
MemoryVector< byte > DER_domain() const
bool on_the_curve() const
MemoryVector< byte > x509_subject_public_key() const
DER_Encoder & start_cons(ASN1_Tag type_tag, ASN1_Tag class_tag=UNIVERSAL)
EC_Group_Encoding domain_encoding
static SecureVector< byte > encode_1363(const BigInt &n, size_t bytes)
std::string get_oid() const