Protocol++® (Protocolpp®)  v5.6.2
ProtocolPP::jecdsaedsa Class Reference
Inheritance diagram for ProtocolPP::jecdsaedsa:
Collaboration diagram for ProtocolPP::jecdsaedsa:

Public Member Functions

 jecdsaedsa ()
 
 jecdsaedsa (keymode_t mode, ike_hash_t hash, CryptoPP::OID curve)
 
 jecdsaedsa (jecdsaedsa &rhs)
 
 jecdsaedsa (std::shared_ptr< jecdsaedsa > &rhs)
 
virtual ~jecdsaedsa ()=default
 Standard deconstructor.
 
template<typename T >
void set_field (field_t field, T fieldval)
 
template<typename T >
get_field (field_t field)
 
void to_xml (tinyxml2::XMLPrinter &myxml, direction_t direction)
 
void to_json (std::ofstream &myjson, direction_t direction, std::string &indent)
 
 jecdsaedsa (const jecdsaedsa &jecdsaedsa)=delete
 
- Public Member Functions inherited from ProtocolPP::jsecass
 jsecass ()
 
virtual ~jsecass ()=default
 Standard deconstructor.
 
 jsecass (jsecass &jsecass)=delete
 
 jsecass (const jsecass &jsecass)=delete
 

Constructor & Destructor Documentation

◆ jecdsaedsa() [1/4]

ProtocolPP::jecdsaedsa::jecdsaedsa ( )

ECDSAEd Constructor for named type with default parameters as follows keymode_t::GENKEYPAIR ike_hash_t::SHA512

◆ jecdsaedsa() [2/4]

ProtocolPP::jecdsaedsa::jecdsaedsa ( keymode_t  mode,
ike_hash_t  hash,
CryptoPP::OID  curve 
)

ECDSAEd Constructor for named type

Parameters
mode- Mode of operation (GENKEYPAIR, PKISIGN, PKIVERIFY)
hash- hash type for curve (HMAC_SHA2_512 only)
curve- Name of the OID curve (curve25519 only)

◆ jecdsaedsa() [3/4]

ProtocolPP::jecdsaedsa::jecdsaedsa ( jecdsaedsa rhs)

ECDSAEd Copy Constructor ECDSAEd Security Association

Parameters
rhs- ECDSAEd security association to copy

◆ jecdsaedsa() [4/4]

ProtocolPP::jecdsaedsa::jecdsaedsa ( std::shared_ptr< jecdsaedsa > &  rhs)
explicit

ECDSAEd Copy Constructor shared_ptr

Parameters
rhs- ECDSAEd security association to copy

Member Function Documentation

◆ get_field()

template<typename T >
T ProtocolPP::jecdsaedsa::get_field ( field_t  field)

Returns the version field of the ECDSAEd Security Association object

ECDSAEDSA Get Fields
field typefield nameExample
ike_hash_t IKEHASHike_hash_t hash = get_field<ike_hash_t>(field_t::IKEHASH)
keymode_t MODEkeymode_t mode = get_field<keymode_t>(field_t::MODE)
ike_hash_t ECHASHike_hash_t hash = get_field<ike_hash_t>(field_t::ECHASH)
CryptoPP::OID CURVECryptoPP::OID curve = get_field<CryptoPP::OID>(field_t::CURVE)
CryptoPP::ed25519PrivateKey PRVKEYCryptoPP::ed25519 prvkey = get_field<CryptoPP::ed25519PrivateKey>(field_t::PRVKEY)
CryptoPP::ed25519PublicKey PUBKEYCryptoPP::ed25519 pubkey = get_field<CryptoPP::ed25519PublicKey>(field_t::PUBKEY)
CryptoPP::ed25519::Signer SIGNERCryptoPP::ed25519::Signer signer = get_field<CryptoPP::ed25519::Signer>(field_t::SIGNER)
CryptoPP::ed25519::Verifier VERIFIERCryptoPP::ed25519::Verifier verifier = get_field<CryptoPP::ed25519::Verifier>(field_t::VERIFIER)
Parameters
field- field to retrieve from the ECDSAEd Security Association object
Returns
field of the ECDSAEd Security Association object

◆ set_field()

template<typename T >
void ProtocolPP::jecdsaedsa::set_field ( field_t  field,
fieldval 
)

Allows the user to update the ECDSAEd Security Association object

ECDSAEdSA Set Fields
field typefield nameExample
keymode_t MODEset_field<keymode_t>(field_t::MODE, keymode_t::GENKEYPAIR)
ike_hash_t ECHASHset_field<ike_hash_t>(field_t::ECHASH, hash)
CryptoPP::OID CURVEset_field<CryptoPP::OID>(field_t::CURVE, CryptoPP::OID::secp256r1)
CryptoPP::ed25519PrivateKey PRVKEYset_field<CryptoPP::ed25519PrivateKey>(field_t::PRVKEY, prvkey)
CryptoPP::ed25519PublicKey PUBKEYset_field<CryptoPP::ed25519PublicKey>(field_t::PUBKEY, pubkey)
CryptoPP::ed25519::Signer SIGNERset_field<CryptoPP::ed25519::Signer>(field_t::SIGNER, signer)
CryptoPP::ed25519::Verifier VERIFIERset_field<CryptoPP::ed25519::Verifier>(field_t::VERIFIER, verifier)
Parameters
field- field to update for ECDSAEd Security Association
fieldval- value to update for ECDSAEd Security Association

◆ to_json()

void ProtocolPP::jecdsaedsa::to_json ( std::ofstream &  myjson,
direction_t  direction,
std::string &  indent 
)
virtual

Prints the protocol object in JSON

Parameters
myjson- JSON object to print to
direction- randomzation
indent- indentation for JSON output

Implements ProtocolPP::jsecass.

◆ to_xml()

void ProtocolPP::jecdsaedsa::to_xml ( tinyxml2::XMLPrinter myxml,
direction_t  direction 
)
virtual

Prints the protocol object in XML

Parameters
myxml- XMLPrinter object to print to
direction- randomzation

Implements ProtocolPP::jsecass.


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