#include "quiche/quic/core/crypto/proof_source_x509.h"
#include <memory>
#include <optional>
#include <string>
#include <utility>
#include "absl/strings/str_cat.h"
#include "absl/strings/string_view.h"
#include "openssl/ssl.h"
#include "quiche/quic/core/crypto/certificate_view.h"
#include "quiche/quic/core/crypto/crypto_protocol.h"
#include "quiche/quic/core/crypto/crypto_utils.h"
#include "quiche/quic/core/quic_data_writer.h"
#include "quiche/quic/platform/api/quic_bug_tracker.h"
#include "quiche/common/quiche_endian.h"
namespace quic {
ProofSourceX509::ProofSourceX509(
quiche::QuicheReferenceCountedPointer<Chain> default_chain,
CertificatePrivateKey default_key) { … }
std::unique_ptr<ProofSourceX509> ProofSourceX509::Create(
quiche::QuicheReferenceCountedPointer<Chain> default_chain,
CertificatePrivateKey default_key) { … }
void ProofSourceX509::GetProof(
const QuicSocketAddress& ,
const QuicSocketAddress& , const std::string& hostname,
const std::string& server_config,
QuicTransportVersion , absl::string_view chlo_hash,
std::unique_ptr<ProofSource::Callback> callback) { … }
quiche::QuicheReferenceCountedPointer<ProofSource::Chain>
ProofSourceX509::GetCertChain(const QuicSocketAddress& ,
const QuicSocketAddress& ,
const std::string& hostname,
bool* cert_matched_sni) { … }
void ProofSourceX509::ComputeTlsSignature(
const QuicSocketAddress& ,
const QuicSocketAddress& , const std::string& hostname,
uint16_t signature_algorithm, absl::string_view in,
std::unique_ptr<ProofSource::SignatureCallback> callback) { … }
QuicSignatureAlgorithmVector ProofSourceX509::SupportedTlsSignatureAlgorithms()
const { … }
ProofSource::TicketCrypter* ProofSourceX509::GetTicketCrypter() { … }
bool ProofSourceX509::AddCertificateChain(
quiche::QuicheReferenceCountedPointer<Chain> chain,
CertificatePrivateKey key) { … }
ProofSourceX509::Certificate* ProofSourceX509::GetCertificate(
const std::string& hostname, bool* cert_matched_sni) const { … }
}