PcapPlusPlus  20.08+
pcpp::SSLCertificateRequestMessage Class Reference

#include <SSLHandshake.h>

Inheritance diagram for pcpp::SSLCertificateRequestMessage:
pcpp::SSLHandshakeMessage

Public Member Functions

 SSLCertificateRequestMessage (uint8_t *data, size_t dataLen, SSLHandshakeLayer *container)
 
std::vector< SSLClientCertificateType > & getCertificateTypes ()
 
uint8_t * getCertificateAuthorityData () const
 
size_t getCertificateAuthorityLength () const
 
std::string toString () const
 
- Public Member Functions inherited from pcpp::SSLHandshakeMessage
virtual SSLHandshakeType getHandshakeType () const
 
virtual size_t getMessageLength () const
 
virtual bool isMessageComplete () const
 
SSLHandshakeLayergetContainingLayer () const
 

Additional Inherited Members

- Static Public Member Functions inherited from pcpp::SSLHandshakeMessage
static SSLHandshakeMessagecreateHandhakeMessage (uint8_t *data, size_t dataLen, SSLHandshakeLayer *container)
 

Detailed Description

Represents SSL/TLS certificate-request message (type 13). Inherits from SSLHandshakeMessage and adds parsing functionality such as retrieving client certificate types and authority data

Constructor & Destructor Documentation

◆ SSLCertificateRequestMessage()

pcpp::SSLCertificateRequestMessage::SSLCertificateRequestMessage ( uint8_t *  data,
size_t  dataLen,
SSLHandshakeLayer container 
)

C'tor for this class. Currently only in use in SSLHandshakeMessage::createHandhakeMessage() and should be used by a user

Parameters
[in]dataThe message as raw data
[in]dataLenMessage raw data length in bytes
[in]containerThe SSL handshake layer which shall contain this message

Member Function Documentation

◆ getCertificateAuthorityData()

uint8_t* pcpp::SSLCertificateRequestMessage::getCertificateAuthorityData ( ) const
Returns
A pointer to the certificate authority data as raw data (byte array). Parsing of this data may be added in the future. Notice that if this message is spread over several packets in a way none of the certificate authority data exists in this packet, NULL will be returned

◆ getCertificateAuthorityLength()

size_t pcpp::SSLCertificateRequestMessage::getCertificateAuthorityLength ( ) const
Returns
The length of certificate authority data returned by getCertificateAuthorityData(). Notice that if this message is spread over several packets in a way none of certificate authority data exists in the current packet, 0 will be returned. Also, if some of the data exists in the consequent packets, the length that will be returned is the length of data exists in the current packet only (and not the total length)

◆ getCertificateTypes()

std::vector<SSLClientCertificateType>& pcpp::SSLCertificateRequestMessage::getCertificateTypes ( )
Returns
A reference to a vector containing all client certificate types exist in this message

◆ toString()

std::string pcpp::SSLCertificateRequestMessage::toString ( ) const
virtual
Returns
A string representation of the message type (e.g "Client Hello message")

Implements pcpp::SSLHandshakeMessage.