#include <memory>
#include "base/files/file_path.h"
#include "base/memory/raw_ptr.h"
#include "net/base/ip_endpoint.h"
#include "net/base/net_errors.h"
#include "net/base/test_completion_callback.h"
#include "net/cert/cert_status_flags.h"
#include "net/cert/cert_verify_result.h"
#include "net/cert/x509_certificate.h"
#include "net/quic/quic_context.h"
#include "net/test/cert_test_util.h"
#include "net/test/test_data_directory.h"
#include "net/third_party/quiche/src/quiche/quic/core/crypto/proof_source.h"
#include "net/third_party/quiche/src/quiche/quic/core/crypto/proof_verifier.h"
#include "net/third_party/quiche/src/quiche/quic/test_tools/crypto_test_utils.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/boringssl/src/include/openssl/ssl.h"
string;
namespace net::test {
namespace {
class TestProofVerifierCallback : public quic::ProofVerifierCallback { … };
void RunVerification(quic::ProofVerifier* verifier,
const string& hostname,
const uint16_t port,
const string& server_config,
quic::QuicTransportVersion quic_version,
std::string_view chlo_hash,
const std::vector<string>& certs,
const string& proof,
bool expected_ok) { … }
class TestCallback : public quic::ProofSource::Callback { … };
class ProofTest : public ::testing::TestWithParam<quic::ParsedQuicVersion> { … };
}
INSTANTIATE_TEST_SUITE_P(…);
TEST_P(ProofTest, Verify) { … }
namespace {
class TestingSignatureCallback : public quic::ProofSource::SignatureCallback { … };
}
TEST_P(ProofTest, TlsSignature) { … }
TEST_P(ProofTest, UseAfterFree) { … }
}