#include "quiche/quic/core/crypto/p256_key_exchange.h"
#include <cstdint>
#include <cstring>
#include <memory>
#include <string>
#include <utility>
#include "absl/memory/memory.h"
#include "absl/strings/string_view.h"
#include "openssl/ec.h"
#include "openssl/ecdh.h"
#include "openssl/err.h"
#include "openssl/evp.h"
#include "quiche/quic/platform/api/quic_logging.h"
namespace quic {
P256KeyExchange::P256KeyExchange(bssl::UniquePtr<EC_KEY> private_key,
const uint8_t* public_key)
: … { … }
P256KeyExchange::~P256KeyExchange() { … }
std::unique_ptr<P256KeyExchange> P256KeyExchange::New() { … }
std::unique_ptr<P256KeyExchange> P256KeyExchange::New(absl::string_view key) { … }
std::string P256KeyExchange::NewPrivateKey() { … }
bool P256KeyExchange::CalculateSharedKeySync(
absl::string_view peer_public_value, std::string* shared_key) const { … }
absl::string_view P256KeyExchange::public_value() const { … }
}