#include <openssl/ssl.h>
#include <assert.h>
#include <string.h>
#include <utility>
#include <openssl/bytestring.h>
#include <openssl/err.h>
#include <openssl/hkdf.h>
#include <openssl/mem.h>
#include <openssl/stack.h>
#include <openssl/x509.h>
#include "../crypto/internal.h"
#include "internal.h"
BSSL_NAMESPACE_BEGIN
static const uint8_t kMaxKeyUpdates = …;
const uint8_t kHelloRetryRequest[SSL3_RANDOM_SIZE] = …;
const uint8_t kTLS12DowngradeRandom[8] = …;
const uint8_t kTLS13DowngradeRandom[8] = …;
const uint8_t kJDK11DowngradeRandom[8] = …;
bool tls13_get_cert_verify_signature_input(
SSL_HANDSHAKE *hs, Array<uint8_t> *out,
enum ssl_cert_verify_context_t cert_verify_context) { … }
bool tls13_process_certificate(SSL_HANDSHAKE *hs, const SSLMessage &msg,
bool allow_anonymous) { … }
bool tls13_process_certificate_verify(SSL_HANDSHAKE *hs, const SSLMessage &msg) { … }
bool tls13_process_finished(SSL_HANDSHAKE *hs, const SSLMessage &msg,
bool use_saved_value) { … }
bool tls13_add_certificate(SSL_HANDSHAKE *hs) { … }
enum ssl_private_key_result_t tls13_add_certificate_verify(SSL_HANDSHAKE *hs) { … }
bool tls13_add_finished(SSL_HANDSHAKE *hs) { … }
bool tls13_add_key_update(SSL *ssl, int update_requested) { … }
static bool tls13_receive_key_update(SSL *ssl, const SSLMessage &msg) { … }
bool tls13_post_handshake(SSL *ssl, const SSLMessage &msg) { … }
BSSL_NAMESPACE_END