|
| | jecdsaf (ike_hash_t hash, Botan::OID curve, std::shared_ptr< InterfacePP::jlogger > &logger) |
| |
| | jecdsaf (std::shared_ptr< jecdsafsa > &security) |
| |
|
virtual | ~jecdsaf ()=default |
| | Standard deconstructor.
|
| |
| template<typename T > |
| void | set_field (field_t field, T fieldval) |
| |
| template<typename T > |
| T | get_field (field_t field) |
| |
|
void | gen_keypair () |
| | Generate a public key pair.
|
| |
| void | sign (std::shared_ptr< jarray< uint8_t > > &data, std::shared_ptr< jarray< uint8_t > > &signature) |
| |
| void | verify (std::shared_ptr< jarray< uint8_t > > &data) |
| |
| void | get_security (std::shared_ptr< jecdsafsa > &sec) |
| |
| void | to_xml (tinyxml2::XMLPrinter &myxml, direction_t direction) |
| |
| void | to_json (std::ofstream &myjson, direction_t direction, std::string &indent) |
| |
| void | set_hdr (jarray< uint8_t > &hdr) |
| |
| void | set_field (field_t field, uint64_t value) |
| |
| void | set_prvkey (Botan::ECDSA_PrivateKey &fieldval) |
| |
| void | set_pubkey (Botan::ECDSA_PublicKey &fieldval) |
| |
| jarray< uint8_t > | get_hdr () |
| |
| uint64_t | get_field (field_t field, jarray< uint8_t > &hdr) |
| |
| Botan::ECDSA_PrivateKey | get_prvkey () |
| |
| Botan::ECDSA_PublicKey | get_pubkey () |
| |
| void | encap_packet (std::shared_ptr< jarray< uint8_t > > &input, std::shared_ptr< jarray< uint8_t > > &output) |
| |
| void | decap_packet (std::shared_ptr< jarray< uint8_t > > &input, std::shared_ptr< jarray< uint8_t > > &output) |
| |
|
| jecdsaf (jecdsaf &jecdsaf)=delete |
| |
|
| jecdsaf (const jecdsaf &jecdsaf)=delete |
| |
| | jprotocol (direction_t dir) |
| |
| | jprotocol (direction_t dir, std::string &file) |
| |
| | jprotocol (direction_t dir, std::shared_ptr< jrand > &rand) |
| |
| | jprotocol (direction_t dir, std::shared_ptr< jrand > &rand, std::string &file) |
| |
|
virtual | ~jprotocol () |
| | Standard deconstructor.
|
| |
| virtual void | encap_packet (std::shared_ptr< jarray< uint8_t > > &output) |
| |
| virtual void | decap_packet (std::shared_ptr< jarray< uint8_t > > &input) |
| |
| bool | hasfile () |
| |
| uint32_t | get_status () |
| |
| jarray< uint8_t > | checksum (iana_t prot, direction_t dir, jarray< uint8_t > &check, uint32_t offset=0) |
| |
| jarray< uint8_t > | pad (pad_t padtype, uint32_t len) |
| |
|
| jprotocol (jprotocol &jprotocol)=delete |
| |
|
| jprotocol (const jprotocol &jprotocol)=delete |
| |
|
| const static std::string | currentDateTime () |
| |
| static std::string | str_status (uint32_t status) |
| |
| static jarray< uint8_t > | to_array (uint8_t input) |
| |
| static jarray< uint8_t > | to_array (uint16_t input) |
| |
| static jarray< uint8_t > | to_array (uint32_t input) |
| |
| static jarray< uint8_t > | to_array (uint64_t input) |
| |
| static uint8_t | to_u8 (jarray< uint8_t > src_array) |
| |
| static uint16_t | to_u16 (jarray< uint8_t > src_array) |
| |
| static uint32_t | to_u32 (jarray< uint8_t > src_array) |
| |
| static uint64_t | to_u64 (jarray< uint8_t > src_array) |
| |
| static uint32_t | fnv_hash (std::shared_ptr< jarray< uint8_t > > &header, jarray< uint8_t > &mask, uint32_t hdrlen) |
| |
| template<typename T , typename TE > |
| std::shared_ptr< jreplay< T, TE > > | update_replay (protocol_t prot, T &seqnum, TE &extseq, bool usext, uint32_t size) |
| |
| template<typename T , typename TE > |
| std::shared_ptr< jreplay< T, TE > > | update_replay (protocol_t prot, T &seqnum, TE &extseq, bool usext, uint32_t size, jarray< uint8_t > &window) |
| |
| void | update_status (uint32_t stat) |
| |
| void | get_data (std::shared_ptr< jarray< uint8_t > > &data) |
| |
| void | put_data (std::shared_ptr< jarray< uint8_t > > &wdata) |
| |
| void | encryptdat (std::shared_ptr< jarray< uint8_t > > &red, std::shared_ptr< jarray< uint8_t > > &black) |
| |
| void | decryptdat (std::shared_ptr< jarray< uint8_t > > &black, std::shared_ptr< jarray< uint8_t > > &red) |
| |
| uint32_t | roundup (uint32_t value, uint32_t mult) |
| |
|
direction_t | m_dir |
| | direction of processing
|
| |
| uint32_t | m_status |
| |
|
std::shared_ptr< jrand > | m_rand |
| | random data generator passed into constructor
|
| |
|
std::string | m_filename |
| | file input string for this protocol
|
| |
|
std::fstream | m_file |
| | input file stream object for this protocol
|
| |
|
endian_t | m_endian |
| | endianess string for this protocol
|
| |
◆ jecdsaf() [1/2]
ECDSA Fp Constructor for named type (see /ref jenum)
- Parameters
-
| hash | - hash type for curve |
| curve | - Name of the OID curve |
| logger | - logging object |
◆ jecdsaf() [2/2]
| ProtocolPP::jecdsaf::jecdsaf |
( |
std::shared_ptr< jecdsafsa > & |
security | ) |
|
|
explicit |
ECDSA Fp Constructor for named type (see /ref jenum)
- Parameters
-
| security | - ECDSA Security Association |
◆ decap_packet()
Not used in this protocol
- Parameters
-
| input | - encapsulated data |
| output | - decapsulated packet |
Implements ProtocolPP::jprotocol.
◆ encap_packet()
Not used in this protocol
- Parameters
-
| input | - data to encapsulate |
| output | - encapsulated packet |
Implements ProtocolPP::jprotocol.
◆ get_field() [1/2]
| T ProtocolPP::jecdsaf::get_field |
( |
field_t |
field | ) |
|
|
virtual |
Returns the version field of the ECDSA object
ECDSA Get Fields
| field type | field name | Example |
| int | BITSIZE | int bitsize = set_field<int>(field_t::BITSIZE) |
| ike_hash_t | IKEHASH | ike_hash_t hash = get_field<ike_hash_t>(field_t::IKEHASH) |
| Botn::ECDSA_PublicKey | PUBKEY | Botan::ECDSA_PublicKey pubkey = get_field<Botn::ECDSA_PublicKey>(field_t::PUBKEY) |
- Parameters
-
| field | - field to retrieve from the ECDSA object |
- Returns
- field of the ECDSA object
Reimplemented from ProtocolPP::jprotocol.
◆ get_field() [2/2]
◆ get_hdr()
◆ get_prvkey()
| Botan::ECDSA_PrivateKey ProtocolPP::jecdsaf::get_prvkey |
( |
| ) |
|
- Returns
- SHA-256 Private key for ECDSA
◆ get_pubkey()
| Botan::ECDSA_PublicKey ProtocolPP::jecdsaf::get_pubkey |
( |
| ) |
|
- Returns
- SHA-256 Public key for ECDSA
◆ get_security()
| void ProtocolPP::jecdsaf::get_security |
( |
std::shared_ptr< jecdsafsa > & |
sec | ) |
|
get_security
- Parameters
-
| sec | - Shared pointer to hold the security association |
◆ set_field() [1/2]
| void ProtocolPP::jecdsaf::set_field |
( |
field_t |
field, |
|
|
T |
fieldval |
|
) |
| |
Allows the user to update the ECDSA object
ECDSA Set Fields
| field type | field name | Example |
| int | BITSIZE | set_field<int>(field_t::BITSIZE, size) |
| ike_hash_t | IKEHASH | set_field<ike_hash_t>(field_t::IKEHASH, hash) |
| Botan::OID | CURVE | set_field<Botan::OID>(field_t::CURVE, curve) |
- Parameters
-
| field | - field to update for ECDSA |
| fieldval | - value to update for ECDSA |
◆ set_field() [2/2]
Not used in this protocol
- Parameters
-
| field | - field to update |
| value | - new value for the field |
Implements ProtocolPP::jprotocol.
◆ set_hdr()
◆ set_prvkey()
| void ProtocolPP::jecdsaf::set_prvkey |
( |
Botan::ECDSA_PrivateKey & |
fieldval | ) |
|
- Parameters
-
| fieldval | - new SHA-256 private key for the field |
◆ set_pubkey()
| void ProtocolPP::jecdsaf::set_pubkey |
( |
Botan::ECDSA_PublicKey & |
fieldval | ) |
|
- Parameters
-
| fieldval | - new SHA-256 public key for the field |
◆ sign()
Generate a public key pair
- Parameters
-
| data | - data to sign |
| signature | - Signature generated from private key and data |
◆ to_json()
| void ProtocolPP::jecdsaf::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::jprotocol.
◆ to_xml()
Prints the protocol object in XML
- Parameters
-
| myxml | - XMLPrinter object to print to |
| direction | - randomzation |
Implements ProtocolPP::jprotocol.
◆ verify()
Verify the signature using the received public key
- Parameters
-
| data | - data and signature concatenated to verify (data || signature) returns results of signature verification in status word |
The documentation for this class was generated from the following file: