1 #ifndef PACKETPP_SSL_HANDSHAKE_MESSAGE 2 #define PACKETPP_SSL_HANDSHAKE_MESSAGE 46 : m_Id(id), m_KeyExAlg(keyExAlg), m_AuthAlg(authAlg), m_SymKeyAlg(symKeyAlg), m_MACAlg(MACAlg), m_Name(name) {}
51 inline uint16_t
getID() {
return m_Id; }
56 inline std::string
asString() {
return m_Name; }
206 : m_Data(data), m_DataLen(dataLen), m_AllDataExists(allDataExists) {}
228 bool m_AllDataExists;
232 class SSLHandshakeLayer;
400 template<
class TExtension>
507 template<
class TExtension>
723 std::vector<SSLClientCertificateType> m_ClientCertificateTypes;
916 template<
class TExtension>
919 size_t vecSize = m_ExtensionList.size();
920 for (
size_t i = 0; i < vecSize; i++)
923 if (dynamic_cast<TExtension*>(curElem) != NULL)
924 return (TExtension*)curElem;
930 template<
class TExtension>
933 size_t vecSize = m_ExtensionList.size();
934 for (
size_t i = 0; i < vecSize; i++)
937 if (dynamic_cast<TExtension*>(curElem) != NULL)
938 return (TExtension*)curElem;
virtual SSLHandshakeType getHandshakeType()
static SSLHandshakeMessage * createHandhakeMessage(uint8_t *data, size_t dataLen, SSLHandshakeLayer *container)
SSLSymetricEncryptionAlgorithm
Definition: SSLCommon.h:298
size_t getServerKeyExchangeParamsLength()
ssl_tls_client_server_hello * getServerHelloHeader()
Definition: SSLHandshake.h:437
Definition: SSLHandshake.h:732
SSLCipherSuite(uint16_t id, SSLKeyExchangeAlgorithm keyExAlg, SSLAuthenticationAlgorithm authAlg, SSLSymetricEncryptionAlgorithm symKeyAlg, SSLHashingAlgorithm MACAlg, const char *name)
Definition: SSLHandshake.h:41
uint8_t getCompressionMethodsValue()
SSLCertificateVerifyMessage(uint8_t *data, size_t dataLen, SSLHandshakeLayer *container)
Definition: SSLHandshake.h:770
std::string asString()
Definition: SSLHandshake.h:56
size_t getClientKeyExchangeParamsLength()
size_t getDataLength()
Definition: SSLHandshake.h:216
SSLUnknownMessage(uint8_t *data, size_t dataLen, SSLHandshakeLayer *container)
Definition: SSLHandshake.h:895
SSLFinishedMessage(uint8_t *data, size_t dataLen, SSLHandshakeLayer *container)
Definition: SSLHandshake.h:812
SSLHandshakeType
Definition: SSLCommon.h:129
uint8_t * getClientKeyExchangeParams()
bool allDataExists()
Definition: SSLHandshake.h:223
Definition: SSLHandshake.h:801
SSLCipherSuite * getCipherSuite(int index)
size_t getMessageLength()
std::string getHostName()
SSLAuthenticationAlgorithm getAuthAlg()
Definition: SSLHandshake.h:66
SSLClientHelloMessage(uint8_t *data, size_t dataLen, SSLHandshakeLayer *container)
Definition: PointerVector.h:24
virtual std::string toString()=0
uint8_t * getData()
Definition: SSLHandshake.h:211
TExtension * getExtensionOfType()
Definition: SSLHandshake.h:931
SSLHelloRequestMessage(uint8_t *data, size_t dataLen, SSLHandshakeLayer *container)
Definition: SSLHandshake.h:584
TExtension * getExtensionOfType()
Definition: SSLHandshake.h:917
Definition: SSLHandshake.h:171
SSLNewSessionTicketMessage(uint8_t *data, size_t dataLen, SSLHandshakeLayer *container)
Definition: SSLHandshake.h:853
Definition: SSLHandshake.h:29
SSLServerNameIndicationExtension(uint8_t *data)
Definition: SSLHandshake.h:178
uint16_t getExtensionsLenth()
SSLExtension * getExtension(int index)
static SSLCipherSuite * getCipherSuiteByName(std::string name)
std::vector< SSLClientCertificateType > & getCertificateTypes()
uint16_t getID()
Definition: SSLHandshake.h:51
SSLHandshakeLayer * getContainingLayer()
Definition: SSLHandshake.h:280
Definition: SSLHandshake.h:527
SSLCertificateRequestMessage(uint8_t *data, size_t dataLen, SSLHandshakeLayer *container)
uint16_t extensionType
Definition: SSLHandshake.h:153
size_t getSessionTicketDataLength()
Definition: SSLHandshake.h:884
Definition: SSLHandshake.h:243
Definition: SSLHandshake.h:759
static SSLCipherSuite * getCipherSuiteByID(uint16_t id)
uint8_t * getCertificateAuthorityData()
SSLSymetricEncryptionAlgorithm getSymKeyAlg()
Definition: SSLHandshake.h:71
Definition: SSLCommon.h:56
int getCipherSuiteCount()
Definition: SSLHandshake.h:600
SSLHashingAlgorithm
Definition: SSLCommon.h:377
Definition: SSLLayer.h:306
SSLServerHelloDoneMessage(uint8_t *data, size_t dataLen, SSLHandshakeLayer *container)
Definition: SSLHandshake.h:743
Definition: SSLHandshake.h:842
SSLServerKeyExchangeMessage(uint8_t *data, size_t dataLen, SSLHandshakeLayer *container)
Definition: SSLHandshake.h:611
SSLClientKeyExchangeMessage(uint8_t *data, size_t dataLen, SSLHandshakeLayer *container)
Definition: SSLHandshake.h:653
uint8_t * getServerKeyExchangeParams()
SSLCertificateMessage(uint8_t *data, size_t dataLen, SSLHandshakeLayer *container)
Definition: SSLHandshake.h:150
SSLVersion getHandshakeVersion()
SSLVersion getHandshakeVersion()
uint8_t * getSignedHash()
virtual size_t getMessageLength()
ssl_tls_client_server_hello * getClientHelloHeader()
Definition: SSLHandshake.h:322
SSLExtensionType getType()
SSLCipherSuite * getCipherSuite()
Definition: SSLHandshake.h:418
size_t getSignedHashLength()
uint8_t getCompressionMethodsValue()
Definition: SSLHandshake.h:193
size_t getSignedHashLength()
SSLHashingAlgorithm getMACAlg()
Definition: SSLHandshake.h:76
Definition: SSLHandshake.h:108
SSLExtension * getExtension(int index)
SSLExtension(uint8_t *data)
SSLKeyExchangeAlgorithm getKeyExchangeAlg()
Definition: SSLHandshake.h:61
size_t getCertificateAuthorityLength()
virtual bool isMessageComplete()
uint8_t getSessionIDLength()
Definition: SSLHandshake.h:683
SSLVersion
Definition: SSLCommon.h:112
Definition: SSLHandshake.h:573
SSLServerHelloMessage(uint8_t *data, size_t dataLen, SSLHandshakeLayer *container)
Definition: SSLHandshake.h:303
SSLHandshakeType getHandshakeType()
uint8_t getSessionIDLength()
uint16_t getTotalLength()
int getNumOfCertificates()
uint8_t * getSignedHash()
uint8_t * getSessionTicketData()
The main namespace for the PcapPlusPlus lib.
uint16_t getExtensionsLenth()
SSLAuthenticationAlgorithm
Definition: SSLCommon.h:265
uint8_t extensionData[]
Definition: SSLHandshake.h:157
SSLx509Certificate(uint8_t *data, size_t dataLen, bool allDataExists)
Definition: SSLHandshake.h:205
Definition: SSLHandshake.h:642
SSLx509Certificate * getCertificate(int index)
SSLExtensionType
Definition: SSLCommon.h:404
SSLKeyExchangeAlgorithm
Definition: SSLCommon.h:232
uint16_t extensionDataLength
Definition: SSLHandshake.h:155