|
| jtlsa13 () |
|
| jtlsa13 (direction_t dir, tls_ciphersuite_t ciphersuite, tlstype_t type, uint64_t seqnum, uint32_t icvlen, uint32_t ivlen, std::shared_ptr< jarray< uint8_t >> iv, uint32_t ckeylen, std::shared_ptr< jarray< uint8_t >> cipherkey, uint32_t mtu) |
|
| jtlsa13 (jtlsa13 &rhs) |
|
| jtlsa13 (std::shared_ptr< jtlsa13 > &rhs) |
|
| ~jtlsa13 () |
| Standard deconstructor.
|
|
template<typename T > |
void | set_field (field_t field, T fieldval) |
|
template<typename T > |
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) |
|
| jtlsa13 (const jtlsa13 &rhs)=delete |
|
| jsecass () |
|
virtual | ~jsecass ()=default |
| Standard deconstructor.
|
|
| jsecass (jsecass &jsecass)=delete |
|
| jsecass (const jsecass &jsecass)=delete |
|
◆ jtlsa13() [1/4]
ProtocolPP::jtlsa13::jtlsa13 |
( |
| ) |
|
Standard Constructor with defaults
TLS13 Defaults
field | Default Value |
dir | direction_t::ENCAP |
ciphersuite | tls_ciphersuite_t::TLS_AES_128_GCM_SHA256 |
type | tlstype_t::APPLICATION |
icvlen | 16 |
seqnum | 0 |
ivlen | 16 |
ckeylen | 16 |
mtu | 0 |
cipherkey | 0 |
iv | 0 |
◆ jtlsa13() [2/4]
ProtocolPP::jtlsa13::jtlsa13 |
( |
direction_t |
dir, |
|
|
tls_ciphersuite_t |
ciphersuite, |
|
|
tlstype_t |
type, |
|
|
uint64_t |
seqnum, |
|
|
uint32_t |
icvlen, |
|
|
uint32_t |
ivlen, |
|
|
std::shared_ptr< jarray< uint8_t >> |
iv, |
|
|
uint32_t |
ckeylen, |
|
|
std::shared_ptr< jarray< uint8_t >> |
cipherkey, |
|
|
uint32_t |
mtu |
|
) |
| |
Security Association for TLS13
- Parameters
-
dir | - Direction of processing (ENCAP or DECAP) |
ciphersuite | - Ciphersuite to use with TLS v1.3 |
icvlen | - Length of the ICV tag |
mtu | - Maximum transmition unit |
type | - Default type of packet to send (usually Application) |
seqnum | - Initial sequence number |
ivlen | - Length of the initialization vector (IV) |
iv | - Initialization Vector (IV) |
ckeylen | - Length of the cipher key |
cipherkey | - Key for the encryption algorithm |
◆ jtlsa13() [3/4]
ProtocolPP::jtlsa13::jtlsa13 |
( |
jtlsa13 & |
rhs | ) |
|
Constructor for TLS Security Association
- Parameters
-
rhs | - Security association (SA) for this TLS flow |
◆ jtlsa13() [4/4]
ProtocolPP::jtlsa13::jtlsa13 |
( |
std::shared_ptr< jtlsa13 > & |
rhs | ) |
|
|
explicit |
Constructor for TLS Security Association
- Parameters
-
rhs | - Security association (SA) for this TLS flow |
◆ get_field()
template<typename T >
T ProtocolPP::jtlsa13::get_field |
( |
field_t |
field | ) |
|
Retrieve the field from the TLS security association
TLS Get Fields
field type | field name | Example |
direction_t | DIRECTION | direction_t mydir = get_field<direction_t>(field_t::DIRECTION) |
tls_ciphersuite_t | CIPHERSUITE | tls_ciphersuite_t mycsuite = get_field<tls_ciphersuite_t>(field_t::CIPHERSUITE) |
tlsver_t | VERSION | tlsver_t myver = get_field<tlsver_t>(field_t::VERSION) |
tlstype_t | TYPE | tlstype_t mytype = get_field<tlstype_t>(field_t::TYPE) |
uint32_t | ICVLEN | uint32_t myicvlen = get_field<uint32_t>(field_t::ICVLEN); |
| IVLEN | uint32_t myivlen = get_field<uint32_t>(field_t::IVLEN); |
| CKEYLEN | uint32_t myckeylen = get_field<uint32_t>(field_t::CKEYLEN); |
| MTU | uint32_t mymtu = get_field<uint32_t>(field_t::MTU); |
uint64_t | SEQNUM | uint64_t myseqnum = get_field<uint64_t>(field_t::SEQNUM); |
std::shared_ptr<jarray<uint8_t>> | IV | std::shared_ptr<jarray<uint8_t>> myiv = get_field<std::shared_ptr<jarray<uint8_t>>>(field_t::IV) |
| CIPHERKEY | std::shared_ptr<jarray<uint8_t>> myckey = get_field<std::shared_ptr<jarray<uint8_t>>>(field_t::CIPHERKEY) |
- Parameters
-
- Returns
- value of the field
◆ set_field()
template<typename T >
void ProtocolPP::jtlsa13::set_field |
( |
field_t |
field, |
|
|
T |
fieldval |
|
) |
| |
Update the field in the TLS security association
TLS Set Fields
field type | field name | Example |
direction_t | DIRECTION | set_field<direction_t>(field_t::DIRECTION, direction_t::DECAP) |
tls_ciphersuite_t | CIPHERSUITE | set_field<tls_ciphersuite_t>(field_t::CIPHERSUITE, tls_ciphersuite::TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA) |
tlsver_t | VERSION | set_field<tlsver_t>(field_t::VERSION, tlsver_t::DTLS) |
tlstype_t | TYPE | set_field<tlstype_t>(field_t::TYPE, tlstype_t::APPLICATION) |
uint32_t | ICVLEN | set_field<uint32_t>(field_t::ICVLEN, 0); |
| IVLEN | set_field<uint32_t>(field_t::IVLEN, 0); |
| CKEYLEN | set_field<uint32_t>(field_t::CKEYLEN, 0); |
| MTU | set_field<uint32_t>(field_t::MTU, 0); |
uint64_t | SEQNUM | set_field<uint64_t>(field_t::SEQNUM, 0); |
std::shared_ptr<jarray<uint8_t>> | IV | set_field<std::shared_ptr<jarray<uint8_t>>>(field_t::IV, std::make_shared<rotocolPP::jarray<uint8_t>>("000000000000001")) |
| CIPHERKEY | set_field<std::shared_ptr<jarray<uint8_t>>>(field_t::CIPHERKEY, std::make_shared<rotocolPP::jarray<uint8_t>>("000000000000001")) |
- Parameters
-
field | - TLS field to update |
fieldval | - new value for the field |
◆ to_json()
void ProtocolPP::jtlsa13::to_json |
( |
std::ofstream & |
myjson, |
|
|
direction_t |
direction, |
|
|
std::string & |
indent |
|
) |
| |
|
virtual |
Print the protocol and security objects to JSON
- Parameters
-
myjson | - JSON object |
direction | - facilitator for random descriptor generation |
indent | - indentation for JSON output |
Implements ProtocolPP::jsecass.
◆ to_xml()
Print the protocol and security objects to XML
- Parameters
-
myxml | - XMLPrinter object |
direction | - facilitator for random descriptor generation |
Implements ProtocolPP::jsecass.
The documentation for this class was generated from the following file: