// Copyright (c) 2021 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef QUICHE_QUIC_CORE_CRYPTO_CLIENT_PROOF_SOURCE_H_ #define QUICHE_QUIC_CORE_CRYPTO_CLIENT_PROOF_SOURCE_H_ #include <memory> #include "absl/container/flat_hash_map.h" #include "quiche/quic/core/crypto/certificate_view.h" #include "quiche/quic/core/crypto/proof_source.h" namespace quic { // ClientProofSource is the interface for a QUIC client to provide client certs // and keys based on server hostname. It is only used by TLS handshakes. class QUICHE_EXPORT ClientProofSource { … }; // DefaultClientProofSource is an implementation that simply keeps an in memory // map of server hostnames to certs. class QUICHE_EXPORT DefaultClientProofSource : public ClientProofSource { … }; } // namespace quic #endif // QUICHE_QUIC_CORE_CRYPTO_CLIENT_PROOF_SOURCE_H_