CommunicationSecrets.cc
Go to the documentation of this file.
static void PrintSecret(std::ostream &os, const SBuf &secret)
writes the given secret (in hex) or, if there is no secret, a placeholder
Definition: CommunicationSecrets.cc:66
void PrintHex(std::ostream &os, const char *const data, const size_t n)
Prints the first n data bytes using hex notation. Does nothing if n is 0.
Definition: IoManip.cc:16
optimized set of C chars, with quick membership test and merge support
Definition: CharacterSet.h:18
CharacterSet & add(const unsigned char c)
add a given character to the character set
Definition: CharacterSet.cc:47
size_type findFirstNotOf(const CharacterSet &set, size_type startPos=0) const
Definition: SBuf.cc:746
void getClientRandom(const Connection &sconn)
Definition: CommunicationSecrets.cc:112
void getMasterKey(const Session &session)
Definition: CommunicationSecrets.cc:142
void getSessionId(const Session &session)
Definition: CommunicationSecrets.cc:129
bool learnNew(const CommunicationSecrets &news)
Definition: CommunicationSecrets.cc:42
CommunicationSecrets()=default
void record(std::ostream &) const
logs all known secrets using a (multiline) SSLKEYLOGFILE format
Definition: CommunicationSecrets.cc:75
bool gotAll() const
whether we know all the secrets that could be extracted
Definition: CommunicationSecrets.cc:36
const unsigned char * SSL_SESSION_get_id(const SSL_SESSION *s, unsigned int *len)
Definition: openssl.h:147
size_t SSL_get_client_random(const SSL *ssl, unsigned char *outStart, size_t outSizeMax)
Definition: openssl.h:157
size_t SSL_SESSION_get_master_key(const SSL_SESSION *session, unsigned char *outStart, size_t outSizeMax)
Definition: openssl.h:178