proxygen
|
#include <AeadCookieCipher.h>
Public Member Functions | |
AeadCookieCipher () | |
bool | setCookieSecrets (const std::vector< folly::ByteRange > &cookieSecrets) |
void | setContext (const FizzServerContext *context) |
boost::variant< AppToken, StatelessHelloRetryRequest > | getTokenOrRetry (Buf clientHello, Buf appToken) const |
folly::Optional< CookieState > | decrypt (Buf cookie) const override |
Public Member Functions inherited from fizz::server::CookieCipher | |
virtual | ~CookieCipher ()=default |
Private Member Functions | |
Buf | getStatelessResponse (const ClientHello &chlo, Buf appToken) const |
Private Attributes | |
AeadTokenCipher< AeadType, HkdfType > | tokenCipher_ |
const FizzServerContext * | context_ = nullptr |
Definition at line 25 of file AeadCookieCipher.h.
|
inline |
Definition at line 27 of file AeadCookieCipher.h.
|
overridevirtual |
Implements fizz::server::CookieCipher.
Definition at line 93 of file AeadCookieCipher-inl.h.
References fizz::server::detail::decodeCookie(), folly::gen::move, and folly::none.
|
private |
Definition at line 104 of file AeadCookieCipher-inl.h.
References chlo, cookie, fizz::TLSContent::data, fizz::server::detail::encodeCookie(), fizz::server::getCookieState(), fizz::server::getStatelessHelloRetryRequest(), folly::gen::move, and fizz::WriteRecordLayer::writeHandshake().
boost::variant< AppToken, StatelessHelloRetryRequest > fizz::server::AeadCookieCipher< AeadType, HkdfType >::getTokenOrRetry | ( | Buf | clientHello, |
Buf | appToken | ||
) | const |
Returns either a stateless hello retry request, or a verified token contained in the client hello.
Definition at line 64 of file AeadCookieCipher-inl.h.
References folly::IOBufQueue::cacheChainLength(), chlo, cookie, fizz::server::StatelessHelloRetryRequest::data, folly::gen::move, fizz::ReadRecordLayer::readEvent(), and fizz::server::AppToken::token.
|
inline |
Set the Fizz context to use when negotiating the parameters for a stateless hello retry request.
Definition at line 41 of file AeadCookieCipher.h.
References chlo, context, and cookie.
|
inline |
Set cookie secrets to use for cookie encryption/decryption.
Definition at line 33 of file AeadCookieCipher.h.
|
private |
Definition at line 60 of file AeadCookieCipher.h.
|
private |
Definition at line 58 of file AeadCookieCipher.h.