proxygen
fizz::LoggingKeyScheduler Class Reference

#include <LoggingKeyScheduler.h>

Inheritance diagram for fizz::LoggingKeyScheduler:
fizz::KeyScheduler

Public Member Functions

virtual ~LoggingKeyScheduler ()=default
 
std::vector< uint8_tgetSecret (EarlySecrets s, folly::ByteRange transcript) const override
 
std::vector< uint8_tgetSecret (HandshakeSecrets s, folly::ByteRange transcript) const override
 
std::vector< uint8_tgetSecret (AppTrafficSecrets s) const override
 
std::vector< uint8_tgetClientEarlyTrafficSecret () const
 
std::vector< uint8_tgetClientHandshakeTrafficSecret () const
 
std::vector< uint8_tgetServerHandshakeTrafficSecret () const
 
std::vector< uint8_tgetClientTrafficSecret () const
 
std::vector< uint8_tgetServerTrafficSecret () const
 
- Public Member Functions inherited from fizz::KeyScheduler
 KeyScheduler (std::unique_ptr< KeyDerivation > deriver)
 
virtual ~KeyScheduler ()=default
 
virtual void deriveEarlySecret (folly::ByteRange psk)
 
virtual void deriveHandshakeSecret ()
 
virtual void deriveHandshakeSecret (folly::ByteRange ecdhe)
 
virtual void deriveMasterSecret ()
 
virtual void deriveAppTrafficSecrets (folly::ByteRange transcript)
 
virtual void clearMasterSecret ()
 
virtual uint32_t clientKeyUpdate ()
 
virtual uint32_t serverKeyUpdate ()
 
virtual std::vector< uint8_tgetSecret (MasterSecrets s, folly::ByteRange transcript) const
 
virtual TrafficKey getTrafficKey (folly::ByteRange trafficSecret, size_t keyLength, size_t ivLength) const
 
virtual Buf getResumptionSecret (folly::ByteRange resumptionMasterSecret, folly::ByteRange ticketNonce) const
 

Private Attributes

std::vector< uint8_tclientEarlyTrafficSecret_
 
std::vector< uint8_tclientHandshakeTrafficSecret_
 
std::vector< uint8_tserverHandshakeTrafficSecret_
 
std::vector< uint8_tclientTrafficSecret_
 
std::vector< uint8_tserverTrafficSecret_
 

Detailed Description

LoggingKeyScheduler is saving the secrets by overriding getSecrets so that they can be available later.

Definition at line 19 of file LoggingKeyScheduler.h.

Constructor & Destructor Documentation

virtual fizz::LoggingKeyScheduler::~LoggingKeyScheduler ( )
virtualdefault

Member Function Documentation

std::vector<uint8_t> fizz::LoggingKeyScheduler::getClientEarlyTrafficSecret ( ) const
inline

Definition at line 31 of file LoggingKeyScheduler.h.

References clientEarlyTrafficSecret_.

31  {
33  }
std::vector< uint8_t > clientEarlyTrafficSecret_
std::vector<uint8_t> fizz::LoggingKeyScheduler::getClientHandshakeTrafficSecret ( ) const
inline

Definition at line 35 of file LoggingKeyScheduler.h.

References clientHandshakeTrafficSecret_.

35  {
37  }
std::vector< uint8_t > clientHandshakeTrafficSecret_
std::vector<uint8_t> fizz::LoggingKeyScheduler::getClientTrafficSecret ( ) const
inline

Definition at line 43 of file LoggingKeyScheduler.h.

References clientTrafficSecret_.

43  {
44  return clientTrafficSecret_;
45  }
std::vector< uint8_t > clientTrafficSecret_
std::vector< uint8_t > fizz::LoggingKeyScheduler::getSecret ( EarlySecrets  s,
folly::ByteRange  transcript 
) const
overridevirtual

Retreive a secret from the scheduler. Must be in the appropriate state.

Reimplemented from fizz::KeyScheduler.

Definition at line 13 of file LoggingKeyScheduler.cpp.

References fizz::ClientEarlyTraffic, clientEarlyTrafficSecret_, fizz::KeyScheduler::getSecret(), and secret.

15  {
16  std::vector<uint8_t> secret = KeyScheduler::getSecret(s, transcript);
17  switch (s) {
20  break;
21  default:
22  break;
23  }
24  return secret;
25 }
virtual std::vector< uint8_t > getSecret(EarlySecrets s, folly::ByteRange transcript) const
std::vector< uint8_t > clientEarlyTrafficSecret_
static set< string > s
static constexpr StringPiece secret
std::vector< uint8_t > fizz::LoggingKeyScheduler::getSecret ( HandshakeSecrets  s,
folly::ByteRange  transcript 
) const
overridevirtual

Reimplemented from fizz::KeyScheduler.

Definition at line 27 of file LoggingKeyScheduler.cpp.

References fizz::ClientHandshakeTraffic, clientHandshakeTrafficSecret_, fizz::KeyScheduler::getSecret(), secret, fizz::ServerHandshakeTraffic, and serverHandshakeTrafficSecret_.

29  {
30  std::vector<uint8_t> secret = KeyScheduler::getSecret(s, transcript);
31  switch (s) {
34  break;
37  break;
38  }
39  return secret;
40 }
virtual std::vector< uint8_t > getSecret(EarlySecrets s, folly::ByteRange transcript) const
std::vector< uint8_t > clientHandshakeTrafficSecret_
static set< string > s
static constexpr StringPiece secret
std::vector< uint8_t > serverHandshakeTrafficSecret_
std::vector< uint8_t > fizz::LoggingKeyScheduler::getSecret ( AppTrafficSecrets  s) const
overridevirtual

Reimplemented from fizz::KeyScheduler.

Definition at line 42 of file LoggingKeyScheduler.cpp.

References fizz::ClientAppTraffic, clientTrafficSecret_, fizz::KeyScheduler::getSecret(), secret, fizz::ServerAppTraffic, and serverTrafficSecret_.

42  {
43  std::vector<uint8_t> secret = KeyScheduler::getSecret(s);
44  switch (s) {
47  break;
50  break;
51  }
52  return secret;
53 }
std::vector< uint8_t > clientTrafficSecret_
virtual std::vector< uint8_t > getSecret(EarlySecrets s, folly::ByteRange transcript) const
std::vector< uint8_t > serverTrafficSecret_
static set< string > s
static constexpr StringPiece secret
std::vector<uint8_t> fizz::LoggingKeyScheduler::getServerHandshakeTrafficSecret ( ) const
inline

Definition at line 39 of file LoggingKeyScheduler.h.

References serverHandshakeTrafficSecret_.

39  {
41  }
std::vector< uint8_t > serverHandshakeTrafficSecret_
std::vector<uint8_t> fizz::LoggingKeyScheduler::getServerTrafficSecret ( ) const
inline

Definition at line 47 of file LoggingKeyScheduler.h.

References serverTrafficSecret_.

47  {
48  return serverTrafficSecret_;
49  }
std::vector< uint8_t > serverTrafficSecret_

Member Data Documentation

std::vector<uint8_t> fizz::LoggingKeyScheduler::clientEarlyTrafficSecret_
mutableprivate

Definition at line 52 of file LoggingKeyScheduler.h.

Referenced by getClientEarlyTrafficSecret(), and getSecret().

std::vector<uint8_t> fizz::LoggingKeyScheduler::clientHandshakeTrafficSecret_
mutableprivate

Definition at line 53 of file LoggingKeyScheduler.h.

Referenced by getClientHandshakeTrafficSecret(), and getSecret().

std::vector<uint8_t> fizz::LoggingKeyScheduler::clientTrafficSecret_
mutableprivate

Definition at line 55 of file LoggingKeyScheduler.h.

Referenced by getClientTrafficSecret(), and getSecret().

std::vector<uint8_t> fizz::LoggingKeyScheduler::serverHandshakeTrafficSecret_
mutableprivate

Definition at line 54 of file LoggingKeyScheduler.h.

Referenced by getSecret(), and getServerHandshakeTrafficSecret().

std::vector<uint8_t> fizz::LoggingKeyScheduler::serverTrafficSecret_
mutableprivate

Definition at line 56 of file LoggingKeyScheduler.h.

Referenced by getSecret(), and getServerTrafficSecret().


The documentation for this class was generated from the following files: