11 #include <boost/variant.hpp> 22 using Buf = std::unique_ptr<folly::IOBuf>;
82 std::unique_ptr<folly::IOBuf>
hash;
85 template <Event e, HandshakeType t>
209 :
HandshakeStruct<Event::HelloRetryRequest, HandshakeType::server_hello> {
212 {0xCF, 0x21, 0xAD, 0x74, 0xE5, 0x9A, 0x61, 0x11, 0xBE, 0x1D, 0x8C,
213 0x02, 0x1E, 0x65, 0xB8, 0x91, 0xC2, 0xA2, 0x11, 0x16, 0x7A, 0xBB,
214 0x8C, 0x5E, 0x07, 0x9E, 0x09, 0xE2, 0xC8, 0xA8, 0x33, 0x9C}};
222 :
HandshakeStruct<Event::EndOfEarlyData, HandshakeType::end_of_early_data> {
226 Event::EncryptedExtensions,
227 HandshakeType::encrypted_extensions> {
243 Event::CompressedCertificate,
244 HandshakeType::compressed_certificate> {
251 Event::CertificateRequest,
252 HandshakeType::certificate_request> {
271 Event::CertificateVerify,
272 HandshakeType::certificate_verify> {
282 Event::NewSessionTicket,
283 HandshakeType::new_session_ticket> {
322 :
std::runtime_error(msg), alert_(alert) {}
337 T decode(std::unique_ptr<folly::IOBuf>&& buf);
340 template <
typename T>
std::vector< Extension > extensions
std::vector< Extension > extensions
Buf encodeHandshake(T &&handshakeMsg)
KeyUpdateRequest request_update
folly::StringPiece toString(StateEnum state)
CertificateCompressionAlgorithm algorithm
std::vector< Extension > extensions
CertificateCompressionAlgorithm
AlertDescription description
Buf encodeHkdfLabel(HkdfLabel &&label, const std::string &hkdfLabelPrefix)
std::unique_ptr< folly::IOBuf > hash
TokenBindingMessage decode(folly::io::Cursor &cursor)
std::string enumToHex(T enumValue)
uint32_t uncompressed_length
Buf legacy_session_id_echo
Buf legacy_session_id_echo
constexpr folly::StringPiece FakeChangeCipherSpec
std::vector< Extension > extensions
Buf certificate_request_context
constexpr size_t kMaxHandshakeSize
Buf certificate_request_context
std::vector< CertificateEntry > certificate_list
folly::Optional< AlertDescription > getAlert() const
std::vector< Extension > extensions
std::vector< Extension > extensions
std::array< uint8_t, 32 > Random
Alert(AlertDescription desc)
std::vector< CipherSuite > cipher_suites
FizzException(const std::string &msg, folly::Optional< AlertDescription > alert)
SignatureScheme algorithm
std::vector< Extension > extensions
Buf encode(TokenBindingMessage &&message)
folly::Optional< Buf > originalEncoding
ExtensionType extension_type
folly::Optional< AlertDescription > alert_
std::unique_ptr< folly::IOBuf > Buf
ProtocolVersion getRealDraftVersion(ProtocolVersion version)
std::vector< uint8_t > legacy_compression_methods
constexpr folly::StringPiece kHkdfLabelPrefix
Buf compressed_certificate_message