Botan 3.9.0
Crypto and TLS for C&
Botan::EC_PublicKey_Data Class Referencefinal

#include <ec_key_data.h>

Public Member Functions

 EC_PublicKey_Data (const EC_Group &group, std::span< const uint8_t > bytes)
 EC_PublicKey_Data (EC_Group group, EC_AffinePoint pt)
const EC_Groupgroup () const
const EC_AffinePointpublic_key () const

Detailed Description

Definition at line 24 of file ec_key_data.h.

Constructor & Destructor Documentation

◆ EC_PublicKey_Data() [1/2]

Botan::EC_PublicKey_Data::EC_PublicKey_Data ( EC_Group group,
EC_AffinePoint pt )

Definition at line 14 of file ec_key_data.cpp.

14 :
15 m_group(std::move(group)), m_point(std::move(pt)) {
16#if defined(BOTAN_HAS_LEGACY_EC_POINT)
17 m_legacy_point = m_point.to_legacy_point();
18#endif
19
20 // Checking that the point lies on the curve is done in the deserialization
21 // of EC_AffinePoint.
22 BOTAN_ARG_CHECK(!m_point.is_identity(), "ECC public key cannot be point at infinity");
23}
#define BOTAN_ARG_CHECK(expr, msg)
Definition assert.h:33
const EC_Group & group() const
Definition ec_key_data.h:31

References BOTAN_ARG_CHECK, and group().

Referenced by EC_PublicKey_Data().

◆ EC_PublicKey_Data() [2/2]

Botan::EC_PublicKey_Data::EC_PublicKey_Data ( const EC_Group & group,
std::span< const uint8_t > bytes )
inline

Definition at line 28 of file ec_key_data.h.

28 :
29 EC_PublicKey_Data(group, EC_AffinePoint(group, bytes)) {}
EC_PublicKey_Data(EC_Group group, EC_AffinePoint pt)

References EC_PublicKey_Data(), and group().

Member Function Documentation

◆ group()

const EC_Group & Botan::EC_PublicKey_Data::group ( ) const
inline

Definition at line 31 of file ec_key_data.h.

31{ return m_group; }

Referenced by EC_PublicKey_Data(), and EC_PublicKey_Data().

◆ public_key()

const EC_AffinePoint & Botan::EC_PublicKey_Data::public_key ( ) const
inline

Definition at line 33 of file ec_key_data.h.

33{ return m_point; }

The documentation for this class was generated from the following files: