Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(525)

Unified Diff: net/quic/crypto/proof_verifier.h

Issue 2193073003: Move shared files in net/quic/ into net/quic/core/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: io_thread_unittest.cc Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/quic/crypto/proof_test.cc ('k') | net/quic/crypto/properties_based_quic_server_info.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/quic/crypto/proof_verifier.h
diff --git a/net/quic/crypto/proof_verifier.h b/net/quic/crypto/proof_verifier.h
deleted file mode 100644
index d05e1ddf6036597b50c91462b220dc5b281827c3..0000000000000000000000000000000000000000
--- a/net/quic/crypto/proof_verifier.h
+++ /dev/null
@@ -1,93 +0,0 @@
-// 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 NET_QUIC_CRYPTO_PROOF_VERIFIER_H_
-#define NET_QUIC_CRYPTO_PROOF_VERIFIER_H_
-
-#include <memory>
-#include <string>
-#include <vector>
-
-#include "net/base/net_export.h"
-#include "net/quic/quic_protocol.h"
-#include "net/quic/quic_types.h"
-
-namespace net {
-
-// 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 NET_EXPORT_PRIVATE ProofVerifyDetails {
- public:
- virtual ~ProofVerifyDetails() {}
-
- // Returns an new ProofVerifyDetails object with the same contents
- // as this one.
- virtual ProofVerifyDetails* Clone() const = 0;
-};
-
-// ProofVerifyContext is an abstract class that acts as a container for any
-// implementation specific context that a ProofVerifier needs.
-class NET_EXPORT_PRIVATE ProofVerifyContext {
- public:
- virtual ~ProofVerifyContext() {}
-};
-
-// ProofVerifierCallback provides a generic mechanism for a ProofVerifier to
-// call back after an asynchronous verification.
-class NET_EXPORT_PRIVATE ProofVerifierCallback {
- public:
- virtual ~ProofVerifierCallback() {}
-
- // Run is called on the original thread to mark the completion of an
- // asynchonous verification. If |ok| is true then the certificate is valid
- // and |error_details| is unused. Otherwise, |error_details| contains a
- // description of the error. |details| contains implementation-specific
- // details of the verification. |Run| may take ownership of |details| by
- // calling |release| on it.
- virtual void Run(bool ok,
- const std::string& error_details,
- std::unique_ptr<ProofVerifyDetails>* details) = 0;
-};
-
-// A ProofVerifier checks the signature on a server config, and the certificate
-// chain that backs the public key.
-class NET_EXPORT_PRIVATE ProofVerifier {
- public:
- virtual ~ProofVerifier() {}
-
- // VerifyProof checks that |signature| is a valid signature of
- // |server_config| by the public key in the leaf certificate of |certs|, and
- // that |certs| is a valid chain for |hostname|. On success, it returns
- // QUIC_SUCCESS. On failure, it returns QUIC_FAILURE and sets |*error_details|
- // to a description of the problem. In either case it may set |*details|,
- // which the caller takes ownership of.
- //
- // |context| specifies an implementation specific struct (which may be nullptr
- // for some implementations) that provides useful information for the
- // verifier, e.g. logging handles.
- //
- // This function may also return QUIC_PENDING, in which case the ProofVerifier
- // will call back, on the original thread, via |callback| when complete.
- //
- // The signature uses SHA-256 as the hash function and PSS padding in the
- // case of RSA.
- virtual QuicAsyncStatus VerifyProof(
- const std::string& hostname,
- const uint16_t port,
- const std::string& server_config,
- QuicVersion quic_version,
- base::StringPiece chlo_hash,
- const std::vector<std::string>& certs,
- const std::string& cert_sct,
- const std::string& signature,
- const ProofVerifyContext* context,
- std::string* error_details,
- std::unique_ptr<ProofVerifyDetails>* details,
- std::unique_ptr<ProofVerifierCallback> callback) = 0;
-};
-
-} // namespace net
-
-#endif // NET_QUIC_CRYPTO_PROOF_VERIFIER_H_
« no previous file with comments | « net/quic/crypto/proof_test.cc ('k') | net/quic/crypto/properties_based_quic_server_info.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698