// Copyright (c) 2013 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_PROOF_VERIFIER_H_ #define QUICHE_QUIC_CORE_CRYPTO_PROOF_VERIFIER_H_ #include <memory> #include <string> #include <vector> #include "absl/strings/string_view.h" #include "quiche/quic/core/quic_types.h" #include "quiche/quic/core/quic_versions.h" #include "quiche/quic/platform/api/quic_export.h" namespace quic { // ProofVerifyDetails is an abstract class that acts as a container for any // implementation specific details that a ProofVerifier wishes to return. These // details are saved in the CachedState for the origin in question. class QUICHE_EXPORT ProofVerifyDetails { … }; // ProofVerifyContext is an abstract class that acts as a container for any // implementation specific context that a ProofVerifier needs. class QUICHE_EXPORT ProofVerifyContext { … }; // ProofVerifierCallback provides a generic mechanism for a ProofVerifier to // call back after an asynchronous verification. class QUICHE_EXPORT ProofVerifierCallback { … }; // A ProofVerifier checks the signature on a server config, and the certificate // chain that backs the public key. class QUICHE_EXPORT ProofVerifier { … }; } // namespace quic #endif // QUICHE_QUIC_CORE_CRYPTO_PROOF_VERIFIER_H_