#ifdef UNSAFE_BUFFERS_BUILD
#pragma allow_unsafe_buffers
#endif
#include "net/quic/crypto/proof_source_chromium.h"
#include "base/strings/string_number_conversions.h"
#include "crypto/openssl_util.h"
#include "net/cert/x509_util.h"
#include "net/third_party/quiche/src/quiche/quic/core/crypto/crypto_protocol.h"
#include "third_party/boringssl/src/include/openssl/digest.h"
#include "third_party/boringssl/src/include/openssl/evp.h"
#include "third_party/boringssl/src/include/openssl/rsa.h"
string;
namespace net {
ProofSourceChromium::ProofSourceChromium() = default;
ProofSourceChromium::~ProofSourceChromium() = default;
bool ProofSourceChromium::Initialize(const base::FilePath& cert_path,
const base::FilePath& key_path,
const base::FilePath& sct_path) { … }
bool ProofSourceChromium::GetProofInner(
const quic::QuicSocketAddress& server_addr,
const string& hostname,
const string& server_config,
quic::QuicTransportVersion quic_version,
std::string_view chlo_hash,
quiche::QuicheReferenceCountedPointer<quic::ProofSource::Chain>* out_chain,
quic::QuicCryptoProof* proof) { … }
void ProofSourceChromium::GetProof(const quic::QuicSocketAddress& server_addr,
const quic::QuicSocketAddress& client_addr,
const std::string& hostname,
const std::string& server_config,
quic::QuicTransportVersion quic_version,
std::string_view chlo_hash,
std::unique_ptr<Callback> callback) { … }
quiche::QuicheReferenceCountedPointer<quic::ProofSource::Chain>
ProofSourceChromium::GetCertChain(const quic::QuicSocketAddress& server_address,
const quic::QuicSocketAddress& client_address,
const std::string& hostname,
bool* cert_matched_sni) { … }
void ProofSourceChromium::ComputeTlsSignature(
const quic::QuicSocketAddress& server_address,
const quic::QuicSocketAddress& client_address,
const std::string& hostname,
uint16_t signature_algorithm,
std::string_view in,
std::unique_ptr<SignatureCallback> callback) { … }
absl::InlinedVector<uint16_t, 8>
ProofSourceChromium::SupportedTlsSignatureAlgorithms() const { … }
quic::ProofSource::TicketCrypter* ProofSourceChromium::GetTicketCrypter() { … }
void ProofSourceChromium::SetTicketCrypter(
std::unique_ptr<quic::ProofSource::TicketCrypter> ticket_crypter) { … }
}