34 : m_Id(id), m_KeyExAlg(keyExAlg), m_AuthAlg(authAlg), m_SymKeyAlg(symKeyAlg), m_MACAlg(MACAlg), m_Name(name)
216 : m_Data(data), m_DataLen(dataLen), m_AllDataExists(
allDataExists)
240 return m_AllDataExists;
244 std::unique_ptr<Asn1Record> m_Asn1Record;
247 bool m_AllDataExists;
250 class SSLHandshakeLayer;
743 std::vector<SSLClientCertificateType> m_ClientCertificateTypes;
902 size_t vecSize = m_ExtensionList.size();
903 for (
size_t i = 0; i < vecSize; i++)
906 if (
dynamic_cast<TExtension*
>(curElem) !=
nullptr)
907 return static_cast<TExtension*
>(curElem);
915 size_t vecSize = m_ExtensionList.size();
916 for (
size_t i = 0; i < vecSize; i++)
919 if (
dynamic_cast<TExtension*
>(curElem) !=
nullptr)
920 return static_cast<TExtension*
>(curElem);
Definition: Asn1Codec.h:319
Definition: PointerVector.h:50
Definition: SSLHandshake.h:587
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:713
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:773
SSLCertificateVerifyMessage(uint8_t *data, size_t dataLen, SSLHandshakeLayer *container)
Definition: SSLHandshake.h:780
std::string toString() const override
size_t getSignedHashLength() const
uint8_t * getSignedHash() const
Definition: SSLHandshake.h:23
SSLAuthenticationAlgorithm getAuthAlg() const
Definition: SSLHandshake.h:56
SSLHashingAlgorithm getMACAlg() const
Definition: SSLHandshake.h:68
uint16_t getID() const
Definition: SSLHandshake.h:38
SSLCipherSuite(uint16_t id, SSLKeyExchangeAlgorithm keyExAlg, SSLAuthenticationAlgorithm authAlg, SSLSymetricEncryptionAlgorithm symKeyAlg, SSLHashingAlgorithm MACAlg, const char *name)
Definition: SSLHandshake.h:32
SSLSymetricEncryptionAlgorithm getSymKeyAlg() const
Definition: SSLHandshake.h:62
SSLKeyExchangeAlgorithm getKeyExchangeAlg() const
Definition: SSLHandshake.h:50
static SSLCipherSuite * getCipherSuiteByName(std::string name)
std::string asString() const
Definition: SSLHandshake.h:44
static SSLCipherSuite * getCipherSuiteByID(uint16_t id)
Definition: SSLHandshake.h:305
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:900
uint8_t getSessionIDLength() const
SSLCipherSuite * getCipherSuite(int index) const
int getCipherSuiteCount() const
ssl_tls_client_server_hello * getClientHelloHeader() const
Definition: SSLHandshake.h:356
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:680
SSLClientKeyExchangeMessage(uint8_t *data, size_t dataLen, SSLHandshakeLayer *container)
Definition: SSLHandshake.h:687
std::string toString() const override
uint8_t * getClientKeyExchangeParams() const
size_t getClientKeyExchangeParamsLength() const
Definition: SSLHandshake.h:97
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:807
uint8_t * getSignedHash() const
std::string toString() const override
SSLFinishedMessage(uint8_t *data, size_t dataLen, SSLHandshakeLayer *container)
Definition: SSLHandshake.h:814
size_t getSignedHashLength() const
Definition: SSLLayer.h:303
Definition: SSLHandshake.h:259
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:285
virtual bool isMessageComplete() const
Definition: SSLHandshake.h:623
SSLHelloRequestMessage(uint8_t *data, size_t dataLen, SSLHandshakeLayer *container)
Definition: SSLHandshake.h:630
std::string toString() const override
Definition: SSLHandshake.h:840
size_t getSessionTicketDataLength() const
SSLNewSessionTicketMessage(uint8_t *data, size_t dataLen, SSLHandshakeLayer *container)
Definition: SSLHandshake.h:847
std::string toString() const override
uint8_t * getSessionTicketData() const
Definition: SSLHandshake.h:750
std::string toString() const override
SSLServerHelloDoneMessage(uint8_t *data, size_t dataLen, SSLHandshakeLayer *container)
Definition: SSLHandshake.h:757
Definition: SSLHandshake.h:450
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:492
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:913
ServerHelloTLSFingerprint generateTLSFingerprint() const
uint8_t * getSessionID() const
Definition: SSLHandshake.h:646
SSLServerKeyExchangeMessage(uint8_t *data, size_t dataLen, SSLHandshakeLayer *container)
Definition: SSLHandshake.h:653
std::string toString() const override
uint8_t * getServerKeyExchangeParams() const
size_t getServerKeyExchangeParamsLength() const
Definition: SSLHandshake.h:145
std::string getHostName() const
SSLServerNameIndicationExtension(uint8_t *data)
Definition: SSLHandshake.h:149
Definition: SSLHandshake.h:160
std::vector< SSLVersion > getSupportedVersions() const
SSLSupportedVersionsExtension(uint8_t *data)
Definition: SSLHandshake.h:164
Definition: SSLHandshake.h:874
SSLHandshakeType getHandshakeType() const override
std::string toString() const override
SSLUnknownMessage(uint8_t *data, size_t dataLen, SSLHandshakeLayer *container)
Definition: SSLHandshake.h:881
size_t getMessageLength() const override
Definition: SSLCommon.h:98
Definition: SSLHandshake.h:207
SSLx509Certificate(uint8_t *data, size_t dataLen, bool allDataExists)
Definition: SSLHandshake.h:215
Asn1SequenceRecord * getRootAsn1Record()
size_t getDataLength() const
Definition: SSLHandshake.h:226
bool allDataExists() const
Definition: SSLHandshake.h:238
uint8_t * getData() const
Definition: SSLHandshake.h:220
Definition: SSLHandshake.h:175
std::vector< uint16_t > getSupportedGroups() const
TLSSupportedGroupsExtension(uint8_t *data)
Definition: SSLHandshake.h:179
The main namespace for the PcapPlusPlus lib.
SSLKeyExchangeAlgorithm
SSL/TLS key exchange algorithms.
Definition: SSLCommon.h:291
SSLExtensionType
SSL/TLS extension types.
Definition: SSLCommon.h:459
SSLSymetricEncryptionAlgorithm
SSL/TLS symmetric encryption algorithms.
Definition: SSLCommon.h:353
SSLAuthenticationAlgorithm
SSL/TLS authentication algorithms.
Definition: SSLCommon.h:322
SSLHandshakeType
SSL/TLS handshake message types.
Definition: SSLCommon.h:188
SSLHashingAlgorithm
SSL/TLS hashing algorithms.
Definition: SSLCommon.h:434
Definition: SSLHandshake.h:314
std::vector< uint8_t > ecPointFormats
A list of EC point formats taken from the "EC point formats" TLS extension (if exist in the message)
Definition: SSLHandshake.h:324
std::pair< std::string, std::string > toStringAndMD5()
std::vector< uint16_t > extensions
A list of extension IDs.
Definition: SSLHandshake.h:320
std::vector< uint16_t > cipherSuites
A list of Cipher Suite IDs.
Definition: SSLHandshake.h:318
std::vector< uint16_t > supportedGroups
A list of Suppotred Groups taken from the "supported groups" TLS extension (if exist in the message)
Definition: SSLHandshake.h:322
uint16_t tlsVersion
TLS version.
Definition: SSLHandshake.h:316
Definition: SSLHandshake.h:124
uint8_t extensionData[]
Extension data as raw (byte array)
Definition: SSLHandshake.h:130
uint16_t extensionType
Extension type.
Definition: SSLHandshake.h:126
uint16_t extensionDataLength
Extension length.
Definition: SSLHandshake.h:128
Definition: SSLHandshake.h:458
uint16_t tlsVersion
TLS version.
Definition: SSLHandshake.h:460
uint16_t cipherSuite
Cipher Suite ID.
Definition: SSLHandshake.h:462
std::vector< uint16_t > extensions
A list of extension IDs.
Definition: SSLHandshake.h:464
std::pair< std::string, std::string > toStringAndMD5()
Definition: SSLCommon.h:47