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

Public Member Functions

 jfalconsa ()
 FALCON security association with default values.
 
 jfalconsa (keymode_t mode, falcon_algorithm_t algorithm)
 
 jfalconsa (keymode_t mode, falcon_algorithm_t algorithm, std::shared_ptr< jarray< uint8_t >> &prvkey, std::shared_ptr< jarray< uint8_t >> &pubkey)
 
 jfalconsa (jfalconsa &security)
 
 jfalconsa (std::shared_ptr< jfalconsa > &security)
 
 ~jfalconsa ()
 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)
 
 jfalconsa (const jfalconsa &rhs)=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

◆ jfalconsa() [1/4]

ProtocolPP::jfalconsa::jfalconsa ( keymode_t  mode,
falcon_algorithm_t  algorithm 
)

FALCON security association with values chosen by algorithm

Parameters
mode- Mode of operation (GENKEYPAIR, PKISIGN, PKIVERIFY)
algorithm- FALCON algorithm to use for keys and shared secret generation

◆ jfalconsa() [2/4]

ProtocolPP::jfalconsa::jfalconsa ( keymode_t  mode,
falcon_algorithm_t  algorithm,
std::shared_ptr< jarray< uint8_t >> &  prvkey,
std::shared_ptr< jarray< uint8_t >> &  pubkey 
)

FALCON security association with values chosen by algorithm

Parameters
mode- Mode of operation (GENKEYPAIR, PKISIGN, PKIVERIFY)
algorithm- FALCON algorithm to use for keys and shared secret generation
prvkey- Previously generated private key
pubkey- Previously generated public key

◆ jfalconsa() [3/4]

ProtocolPP::jfalconsa::jfalconsa ( jfalconsa security)

FALCON security association copy constructor

Parameters
security- FALCON security association

◆ jfalconsa() [4/4]

ProtocolPP::jfalconsa::jfalconsa ( std::shared_ptr< jfalconsa > &  security)
explicit

FALCON security association copy constructor from shared descriptor

Parameters
security- FALCON security association

Member Function Documentation

◆ get_field()

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

Returns the field in FALCONSA

FALCON SA Get Fields
field typefield nameExample
direction_tDIRECTIONProtocolPP::direction_t mydir = get_field<ProtocolPP::direction_t>(ProtocolPP::field_t::DIRECTION)
falcon_algorithm_tAUTHProtocolPP::falcon_algorithm_t myalg = get_field<ProtocolPP::falcon_algorithm_t>(ProtocolPP::field_t::AUTH)
uint32_tPRVKEYLENuint32_t myprvlen = get_field<uint32_t>(ProtocolPP::field_t::PRVKEYLEN)
uint32_tPUBKEYLENuint32_t mypublen = get_field<uint32_t>(ProtocolPP::field_t::PUBKEYLEN)
uint32_tLENGTHuint32_t mylen = get_field<uint32_t>(ProtocolPP::field_t::LENGTH)
jarray<uint8_t>PUBKEYjarray<uint8_t> mypubkey = get_field<jarray<uint8_t>>(ProtocolPP::field_t::PUBKEY)
uint8_t*PRVKEYuint8_t* myprvkey = get_field<uint8_t*>(ProtocolPP::field_t::PRVKEY)
uint8_t*PUBKEYuint8_t* mypubkey = get_field<uint8_t*>(ProtocolPP::field_t::PUBKEY)
std::shared_ptr<jarray<uint8_t>>PRVKEYstd::shared_ptr<jarray<uint8_t>> myprvkey = get_field<std::shared_ptr<jarray<uint8_t>>>(ProtocolPP::field_t::PRVKEY)
std::shared_ptr<jarray<uint8_t>>PUBKEYstd::shared_ptr<jarray<uint8_t>> mypubkey = get_field<std::shared_ptr<jarray<uint8_t>>>(ProtocolPP::field_t::PUBKEY)
Parameters
field- field to retrieve from the security association
Returns
value of the field in the security association

◆ set_field()

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

Allows the user to update the fields of FALCONSA security association

FALCON SA Set Fields
field typefield nameExample
falcon_algorithm_tAUTHset_field<falcon_algorithm_t>(ProtocolPP::field_t::AUTH, falcon_algorithm_t& fieldval)
jarray<uint8_t>PRVKEYset_field<jarray<uint8_t>>(ProtocolPP::field_t::PRVKEY, jarray<uint8_t>& fieldval)
jarray<uint8_t>PUBKEYset_field<jarray<uint8_t>>(ProtocolPP::field_t::PUBKEY, jarray<uint8_t>& fieldval)
std::shared_ptr<jarray<uint8_t>>PRVKEYset_field<std::shared_ptr<jarray<uint8_t>>>(ProtocolPP::field_t::PRVKEY, std::shared_ptr<jarray<uint8_t>>& fieldval)
std::shared_ptr<jarray<uint8_t>>PUBKEYset_field<std::shared_ptr<jarray<uint8_t>>>(ProtocolPP::field_t::PUBKEY, std::shared_ptr<jarray<uint8_t>>& fieldval)
Parameters
field- field to update the security association with
fieldval- value to update the security association with

◆ to_json()

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

Prints the protocol as an JSON object

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

Implements ProtocolPP::jsecass.

◆ to_xml()

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

Prints the protocol as an XML object

Parameters
myxml- XMLPrinter object to print with
direction- randomization

Implements ProtocolPP::jsecass.


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