|
Squid Web Cache master
|
#include <CommunicationSecrets.h>
Public Member Functions | |
| CommunicationSecrets ()=default | |
| CommunicationSecrets (const Connection &sconn) | |
| bool | gotAll () const |
| whether we know all the secrets that could be extracted | |
| bool | learnNew (const CommunicationSecrets &news) |
| void | record (std::ostream &) const |
| logs all known secrets using a (multiline) SSLKEYLOGFILE format | |
Private Member Functions | |
| void | getClientRandom (const Connection &sconn) |
| void | getSessionId (const Session &session) |
| void | getMasterKey (const Session &session) |
Private Attributes | |
| SBuf | id |
| TLS session ID. | |
| SBuf | random |
| CLIENT_RANDOM from the TLS connection. | |
| SBuf | key |
| TLS session (pre-)master key. | |
extracts and formats TLS exchange info for (later) decryption that exchange: early secrets, handshake secrets, (pre)master key, client random, etc.
Definition at line 21 of file CommunicationSecrets.h.
|
default |
|
explicit |
Definition at line 19 of file CommunicationSecrets.cc.
References getClientRandom(), getMasterKey(), and getSessionId().
|
private |
Definition at line 112 of file CommunicationSecrets.cc.
References IgnorePlaceholder(), and SSL_get_client_random().
Referenced by CommunicationSecrets().
|
private |
Definition at line 142 of file CommunicationSecrets.cc.
References IgnorePlaceholder(), and SSL_SESSION_get_master_key().
Referenced by CommunicationSecrets().
|
private |
Definition at line 129 of file CommunicationSecrets.cc.
References IgnorePlaceholder(), and SSL_SESSION_get_id().
Referenced by CommunicationSecrets().
| bool Security::CommunicationSecrets::gotAll | ( | ) | const |
Definition at line 36 of file CommunicationSecrets.cc.
Referenced by Security::KeyLogger::maybeLog().
| bool Security::CommunicationSecrets::learnNew | ( | const CommunicationSecrets & | news | ) |
copy all new secrets (i.e. previously unknown or changed) while preserving previously known secrets that have disappeared
Definition at line 42 of file CommunicationSecrets.cc.
References id, SBuf::isEmpty(), key, and random.
Referenced by Security::KeyLogger::maybeLog().
| void Security::CommunicationSecrets::record | ( | std::ostream & | os | ) | const |
Definition at line 75 of file CommunicationSecrets.cc.
References PrintSecret().
Referenced by Security::KeyLog::record().
|
private |
Definition at line 48 of file CommunicationSecrets.h.
Referenced by learnNew().
|
private |
Definition at line 50 of file CommunicationSecrets.h.
Referenced by learnNew().
|
private |
Definition at line 49 of file CommunicationSecrets.h.
Referenced by learnNew().