|
| | jmemblob (std::shared_ptr< jrand > &rand, uint8_t *bkek, uint32_t bkek_size, uint8_t *blobkey, uint32_t blobkey_size) |
| |
| | jmemblob (std::shared_ptr< jrand > &rand, jmemblobsa &security) |
| |
| | jmemblob (std::shared_ptr< jrand > &rand, std::shared_ptr< jmemblobsa > &security) |
| |
|
virtual | ~jmemblob ()=default |
| | Standard deconstructor.
|
| |
| 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) |
| |
| void | get_security (std::shared_ptr< jmemblobsa > &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) |
| |
| jarray< uint8_t > | get_hdr () |
| |
| uint64_t | get_field (field_t field, jarray< uint8_t > &hdr) |
| |
|
| jmemblob (jmemblob &rhs)=delete |
| |
|
| jmemblob (const jmemblob &rhs)=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) |
| |
| virtual uint64_t | get_field (field_t field) |
| |
| 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
|
| |
◆ jmemblob() [1/3]
Constructor for memory BLOB
- Parameters
-
| rand | - randomizer |
| bkek | - system level key used for offline key protection |
| bkek_size | - size of the bkek |
| blobkey | - BLOB key used for offline key protection |
| blobkey_size | - size of the blob key |
◆ jmemblob() [2/3]
| ProtocolPP::jmemblob::jmemblob |
( |
std::shared_ptr< jrand > & |
rand, |
|
|
jmemblobsa & |
security |
|
) |
| |
Constructor for memory BLOB security association
- Parameters
-
| rand | - randomizer |
| security | - BLOB security association |
◆ jmemblob() [3/3]
| ProtocolPP::jmemblob::jmemblob |
( |
std::shared_ptr< jrand > & |
rand, |
|
|
std::shared_ptr< jmemblobsa > & |
security |
|
) |
| |
Constructor for memory BLOB security association
- Parameters
-
| rand | - randomizer |
| security | - BLOB security association pointer |
◆ decap_packet()
Decapsulate the data as a Blob. Due to the nature of the Blob Key Encryption Key (BKEK) and how it's constructed, this function must supply the BKEK from the system. The BKEK bits are not accessible once the design is in silicon. Furthermore, Blob construction is typically specific to the device such that only that device can retrieve the Blob
- Parameters
-
| input | - Encapsulated Blob data |
| output | - correctly sized pointer to hold plaintext Blob data |
Implements ProtocolPP::jprotocol.
◆ encap_packet()
Encapsulate the data as a Blob. Due to the nature of the Blob Key Encryption Key (BKEK) and how it's constructed, this function must supply the BKEK from the system. The BKEK bits are not accessible once the design is in silicon. Furthermore, Blob construction is typically specific to the device such that only that device can create and retrieve the Blob
- Parameters
-
| input | - Data to enacapsulate as the Blob |
| output | - Correctly sized pointer to hold encapsulated Blob |
Implements ProtocolPP::jprotocol.
◆ get_field()
◆ get_hdr()
◆ get_security()
| void ProtocolPP::jmemblob::get_security |
( |
std::shared_ptr< jmemblobsa > & |
sec | ) |
|
get_security
- Parameters
-
| sec | - Shared pointer to hold the security association |
◆ set_field()
Not used in this protocol
- Parameters
-
| field | - field to update |
| value | - new value for the field |
Implements ProtocolPP::jprotocol.
◆ set_hdr()
◆ to_json()
| void ProtocolPP::jmemblob::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.
The documentation for this class was generated from the following file: