43 : m_Id(id), m_KeyExAlg(keyExAlg), m_AuthAlg(authAlg), m_SymKeyAlg(symKeyAlg), m_MACAlg(MACAlg), m_Name(name)
285 : m_Data(data), m_DataLen(dataLen), m_AllDataExists(
allDataExists)
317 return m_AllDataExists;
321 std::unique_ptr<Asn1Record> m_Asn1Record;
324 bool m_AllDataExists;
327 class SSLHandshakeLayer;
953 std::vector<SSLClientCertificateType> m_ClientCertificateTypes;
1148 size_t vecSize = m_ExtensionList.size();
1149 for (
size_t i = 0; i < vecSize; i++)
1152 if (
dynamic_cast<TExtension*
>(curElem) !=
nullptr)
1153 return static_cast<TExtension*
>(curElem);
1161 size_t vecSize = m_ExtensionList.size();
1162 for (
size_t i = 0; i < vecSize; i++)
1165 if (
dynamic_cast<TExtension*
>(curElem) !=
nullptr)
1166 return static_cast<TExtension*
>(curElem);
Definition: Asn1Codec.h:366
Definition: PointerVector.h:58
Definition: SSLHandshake.h:761
std::string toString() const override
SSLCertificateMessage(uint8_t *data, size_t dataLen, SSLHandshakeLayer *container)
SSLx509Certificate * getCertificate(int index) const
int getNumOfCertificates() const
Definition: SSLHandshake.h:915
size_t getCertificateAuthorityLength() const
std::vector< SSLClientCertificateType > & getCertificateTypes()
uint8_t * getCertificateAuthorityData() const
std::string toString() const override
SSLCertificateRequestMessage(uint8_t *data, size_t dataLen, SSLHandshakeLayer *container)
Definition: SSLHandshake.h:989
SSLCertificateVerifyMessage(uint8_t *data, size_t dataLen, SSLHandshakeLayer *container)
Definition: SSLHandshake.h:998
std::string toString() const override
size_t getSignedHashLength() const
uint8_t * getSignedHash() const
Definition: SSLHandshake.h:30
SSLAuthenticationAlgorithm getAuthAlg() const
Definition: SSLHandshake.h:73
SSLHashingAlgorithm getMACAlg() const
Definition: SSLHandshake.h:89
uint16_t getID() const
Definition: SSLHandshake.h:49
SSLCipherSuite(uint16_t id, SSLKeyExchangeAlgorithm keyExAlg, SSLAuthenticationAlgorithm authAlg, SSLSymetricEncryptionAlgorithm symKeyAlg, SSLHashingAlgorithm MACAlg, const char *name)
Definition: SSLHandshake.h:41
SSLSymetricEncryptionAlgorithm getSymKeyAlg() const
Definition: SSLHandshake.h:81
SSLKeyExchangeAlgorithm getKeyExchangeAlg() const
Definition: SSLHandshake.h:65
static SSLCipherSuite * getCipherSuiteByName(std::string name)
std::string asString() const
Definition: SSLHandshake.h:57
static SSLCipherSuite * getCipherSuiteByID(uint16_t id)
Definition: SSLHandshake.h:397
uint16_t getCipherSuiteID(int index, bool &isValid) const
uint16_t getExtensionsLength() const
SSLExtension * getExtensionOfType(uint16_t type) const
SSLExtension * getExtensionOfType(SSLExtensionType type) const
SSLClientHelloMessage(uint8_t *data, size_t dataLen, SSLHandshakeLayer *container)
std::string toString() const override
TExtension * getExtensionOfType() const
Definition: SSLHandshake.h:1146
uint8_t getSessionIDLength() const
SSLCipherSuite * getCipherSuite(int index) const
int getCipherSuiteCount() const
ssl_tls_client_server_hello * getClientHelloHeader() const
Definition: SSLHandshake.h:460
uint8_t * getSessionID() const
uint8_t getCompressionMethodsValue() const
SSLExtension * getExtension(int index) const
int getExtensionCount() const
ClientHelloTLSFingerprint generateTLSFingerprint() const
SSLVersion getHandshakeVersion() const
Definition: SSLHandshake.h:874
SSLClientKeyExchangeMessage(uint8_t *data, size_t dataLen, SSLHandshakeLayer *container)
Definition: SSLHandshake.h:883
std::string toString() const override
uint8_t * getClientKeyExchangeParams() const
size_t getClientKeyExchangeParamsLength() const
Definition: SSLHandshake.h:124
uint16_t getLength() const
SSLExtension(uint8_t *data)
uint16_t getTotalLength() const
uint16_t getTypeAsInt() const
SSLExtensionType getType() const
uint8_t * getData() const
Definition: SSLHandshake.h:1031
uint8_t * getSignedHash() const
std::string toString() const override
SSLFinishedMessage(uint8_t *data, size_t dataLen, SSLHandshakeLayer *container)
Definition: SSLHandshake.h:1040
size_t getSignedHashLength() const
Definition: SSLLayer.h:319
Definition: SSLHandshake.h:338
static SSLHandshakeMessage * createHandshakeMessage(uint8_t *data, size_t dataLen, SSLHandshakeLayer *container)
virtual size_t getMessageLength() const
virtual SSLHandshakeType getHandshakeType() const
virtual std::string toString() const =0
SSLHandshakeLayer * getContainingLayer() const
Definition: SSLHandshake.h:373
virtual bool isMessageComplete() const
Definition: SSLHandshake.h:805
SSLHelloRequestMessage(uint8_t *data, size_t dataLen, SSLHandshakeLayer *container)
Definition: SSLHandshake.h:814
std::string toString() const override
Definition: SSLHandshake.h:1072
size_t getSessionTicketDataLength() const
SSLNewSessionTicketMessage(uint8_t *data, size_t dataLen, SSLHandshakeLayer *container)
Definition: SSLHandshake.h:1081
std::string toString() const override
uint8_t * getSessionTicketData() const
Definition: SSLHandshake.h:962
std::string toString() const override
SSLServerHelloDoneMessage(uint8_t *data, size_t dataLen, SSLHandshakeLayer *container)
Definition: SSLHandshake.h:971
Definition: SSLHandshake.h:584
uint8_t getSessionIDLength() const
SSLExtension * getExtensionOfType(uint16_t type) const
uint16_t getExtensionsLength() const
SSLServerHelloMessage(uint8_t *data, size_t dataLen, SSLHandshakeLayer *container)
SSLExtension * getExtensionOfType(SSLExtensionType type) const
std::string toString() const override
ssl_tls_client_server_hello * getServerHelloHeader() const
Definition: SSLHandshake.h:638
int getExtensionCount() const
SSLVersion getHandshakeVersion() const
uint16_t getCipherSuiteID(bool &isValid) const
uint8_t getCompressionMethodsValue() const
SSLExtension * getExtension(int index) const
SSLCipherSuite * getCipherSuite() const
TExtension * getExtensionOfType() const
Definition: SSLHandshake.h:1159
ServerHelloTLSFingerprint generateTLSFingerprint() const
uint8_t * getSessionID() const
Definition: SSLHandshake.h:832
SSLServerKeyExchangeMessage(uint8_t *data, size_t dataLen, SSLHandshakeLayer *container)
Definition: SSLHandshake.h:841
std::string toString() const override
uint8_t * getServerKeyExchangeParams() const
size_t getServerKeyExchangeParamsLength() const
Definition: SSLHandshake.h:188
std::string getHostName() const
SSLServerNameIndicationExtension(uint8_t *data)
Definition: SSLHandshake.h:194
Definition: SSLHandshake.h:209
std::vector< SSLVersion > getSupportedVersions() const
SSLSupportedVersionsExtension(uint8_t *data)
Definition: SSLHandshake.h:215
Definition: SSLHandshake.h:1114
SSLHandshakeType getHandshakeType() const override
std::string toString() const override
SSLUnknownMessage(uint8_t *data, size_t dataLen, SSLHandshakeLayer *container)
Definition: SSLHandshake.h:1123
size_t getMessageLength() const override
Definition: SSLCommon.h:112
Definition: SSLHandshake.h:274
SSLx509Certificate(uint8_t *data, size_t dataLen, bool allDataExists)
Definition: SSLHandshake.h:284
Asn1SequenceRecord * getRootAsn1Record()
size_t getDataLength() const
Definition: SSLHandshake.h:299
bool allDataExists() const
Definition: SSLHandshake.h:315
uint8_t * getData() const
Definition: SSLHandshake.h:291
Definition: SSLHandshake.h:230
std::vector< uint16_t > getSupportedGroups() const
TLSSupportedGroupsExtension(uint8_t *data)
Definition: SSLHandshake.h:236
The main namespace for the PcapPlusPlus lib.
SSLKeyExchangeAlgorithm
Definition: SSLCommon.h:325
SSLExtensionType
Definition: SSLCommon.h:501
SSLSymetricEncryptionAlgorithm
Definition: SSLCommon.h:391
SSLAuthenticationAlgorithm
Definition: SSLCommon.h:358
SSLHandshakeType
Definition: SSLCommon.h:216
SSLHashingAlgorithm
Definition: SSLCommon.h:474
Definition: SSLHandshake.h:408
std::vector< uint8_t > ecPointFormats
Definition: SSLHandshake.h:418
std::pair< std::string, std::string > toStringAndMD5()
std::vector< uint16_t > extensions
Definition: SSLHandshake.h:414
std::vector< uint16_t > cipherSuites
Definition: SSLHandshake.h:412
std::vector< uint16_t > supportedGroups
Definition: SSLHandshake.h:416
uint16_t tlsVersion
Definition: SSLHandshake.h:410
Definition: SSLHandshake.h:165
uint8_t extensionData[]
Definition: SSLHandshake.h:171
uint16_t extensionType
Definition: SSLHandshake.h:167
uint16_t extensionDataLength
Definition: SSLHandshake.h:169
Definition: SSLHandshake.h:594
uint16_t tlsVersion
Definition: SSLHandshake.h:596
uint16_t cipherSuite
Definition: SSLHandshake.h:598
std::vector< uint16_t > extensions
Definition: SSLHandshake.h:600
std::pair< std::string, std::string > toStringAndMD5()
Definition: SSLCommon.h:56