1 // Copyright (c) 2017 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef QUICHE_QUIC_TEST_TOOLS_FAILING_PROOF_SOURCE_H_
6 #define QUICHE_QUIC_TEST_TOOLS_FAILING_PROOF_SOURCE_H_
7 
8 #include "net/third_party/quiche/src/quic/core/crypto/proof_source.h"
9 #include "net/third_party/quiche/src/common/platform/api/quiche_string_piece.h"
10 
11 namespace quic {
12 namespace test {
13 
14 class FailingProofSource : public ProofSource {
15  public:
16   void GetProof(const QuicSocketAddress& server_address,
17                 const std::string& hostname,
18                 const std::string& server_config,
19                 QuicTransportVersion transport_version,
20                 quiche::QuicheStringPiece chlo_hash,
21                 std::unique_ptr<Callback> callback) override;
22 
23   QuicReferenceCountedPointer<Chain> GetCertChain(
24       const QuicSocketAddress& server_address,
25       const std::string& hostname) override;
26 
27   void ComputeTlsSignature(
28       const QuicSocketAddress& server_address,
29       const std::string& hostname,
30       uint16_t signature_algorithm,
31       quiche::QuicheStringPiece in,
32       std::unique_ptr<SignatureCallback> callback) override;
33 };
34 
35 }  // namespace test
36 }  // namespace quic
37 
38 #endif  // QUICHE_QUIC_TEST_TOOLS_FAILING_PROOF_SOURCE_H_
39