OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include <memory> | 5 #include <memory> |
6 #include <utility> | 6 #include <utility> |
7 | 7 |
8 #include "base/memory/ptr_util.h" | 8 #include "base/memory/ptr_util.h" |
9 #include "base/run_loop.h" | 9 #include "base/run_loop.h" |
10 #include "build/build_config.h" | 10 #include "build/build_config.h" |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
53 #include "net/base/load_timing_info_test_util.h" | 53 #include "net/base/load_timing_info_test_util.h" |
54 #include "net/base/net_errors.h" | 54 #include "net/base/net_errors.h" |
55 #include "net/base/net_module.h" | 55 #include "net/base/net_module.h" |
56 #include "net/base/request_priority.h" | 56 #include "net/base/request_priority.h" |
57 #include "net/base/upload_bytes_element_reader.h" | 57 #include "net/base/upload_bytes_element_reader.h" |
58 #include "net/base/upload_data_stream.h" | 58 #include "net/base/upload_data_stream.h" |
59 #include "net/base/upload_file_element_reader.h" | 59 #include "net/base/upload_file_element_reader.h" |
60 #include "net/base/url_util.h" | 60 #include "net/base/url_util.h" |
61 #include "net/cert/ct_policy_enforcer.h" | 61 #include "net/cert/ct_policy_enforcer.h" |
62 #include "net/cert/ct_policy_status.h" | 62 #include "net/cert/ct_policy_status.h" |
63 #include "net/cert/ct_verifier.h" | 63 #include "net/cert/do_nothing_ct_verifier.h" |
64 #include "net/cert/ev_root_ca_metadata.h" | 64 #include "net/cert/ev_root_ca_metadata.h" |
65 #include "net/cert/mock_cert_verifier.h" | 65 #include "net/cert/mock_cert_verifier.h" |
66 #include "net/cert/signed_certificate_timestamp_and_status.h" | 66 #include "net/cert/signed_certificate_timestamp_and_status.h" |
67 #include "net/cert/test_root_certs.h" | 67 #include "net/cert/test_root_certs.h" |
68 #include "net/cert_net/nss_ocsp.h" | 68 #include "net/cert_net/nss_ocsp.h" |
69 #include "net/cookies/cookie_monster.h" | 69 #include "net/cookies/cookie_monster.h" |
70 #include "net/cookies/cookie_store_test_helpers.h" | 70 #include "net/cookies/cookie_store_test_helpers.h" |
71 #include "net/disk_cache/disk_cache.h" | 71 #include "net/disk_cache/disk_cache.h" |
72 #include "net/dns/mock_host_resolver.h" | 72 #include "net/dns/mock_host_resolver.h" |
73 #include "net/http/http_byte_range.h" | 73 #include "net/http/http_byte_range.h" |
(...skipping 6363 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6437 const net::SSLInfo& ssl_info) override { | 6437 const net::SSLInfo& ssl_info) override { |
6438 num_failures_++; | 6438 num_failures_++; |
6439 } | 6439 } |
6440 | 6440 |
6441 uint32_t num_failures() { return num_failures_; } | 6441 uint32_t num_failures() { return num_failures_; } |
6442 | 6442 |
6443 private: | 6443 private: |
6444 uint32_t num_failures_; | 6444 uint32_t num_failures_; |
6445 }; | 6445 }; |
6446 | 6446 |
6447 // A CTVerifier that returns net::OK for every certificate. | |
6448 class MockCTVerifier : public CTVerifier { | |
6449 public: | |
6450 MockCTVerifier() {} | |
6451 ~MockCTVerifier() override {} | |
6452 | |
6453 int Verify(X509Certificate* cert, | |
6454 const std::string& stapled_ocsp_response, | |
6455 const std::string& sct_list_from_tls_extension, | |
6456 SignedCertificateTimestampAndStatusList* output_scts, | |
6457 const NetLogWithSource& net_log) override { | |
6458 return net::OK; | |
6459 } | |
6460 | |
6461 void SetObserver(Observer* observer) override {} | |
6462 }; | |
6463 | |
6464 // A CTPolicyEnforcer that returns a default CertPolicyCompliance value | 6447 // A CTPolicyEnforcer that returns a default CertPolicyCompliance value |
6465 // for every certificate. | 6448 // for every certificate. |
6466 class MockCTPolicyEnforcer : public CTPolicyEnforcer { | 6449 class MockCTPolicyEnforcer : public CTPolicyEnforcer { |
6467 public: | 6450 public: |
6468 MockCTPolicyEnforcer() | 6451 MockCTPolicyEnforcer() |
6469 : default_result_( | 6452 : default_result_( |
6470 ct::CertPolicyCompliance::CERT_POLICY_COMPLIES_VIA_SCTS) {} | 6453 ct::CertPolicyCompliance::CERT_POLICY_COMPLIES_VIA_SCTS) {} |
6471 ~MockCTPolicyEnforcer() override {} | 6454 ~MockCTPolicyEnforcer() override {} |
6472 | 6455 |
6473 ct::CertPolicyCompliance DoesConformToCertPolicy( | 6456 ct::CertPolicyCompliance DoesConformToCertPolicy( |
(...skipping 27 matching lines...) Expand all Loading... |
6501 | 6484 |
6502 // Set up a MockCertVerifier to accept the certificate that the server sends. | 6485 // Set up a MockCertVerifier to accept the certificate that the server sends. |
6503 scoped_refptr<X509Certificate> cert = https_test_server.GetCertificate(); | 6486 scoped_refptr<X509Certificate> cert = https_test_server.GetCertificate(); |
6504 ASSERT_TRUE(cert); | 6487 ASSERT_TRUE(cert); |
6505 MockCertVerifier cert_verifier; | 6488 MockCertVerifier cert_verifier; |
6506 CertVerifyResult verify_result; | 6489 CertVerifyResult verify_result; |
6507 verify_result.verified_cert = cert; | 6490 verify_result.verified_cert = cert; |
6508 verify_result.is_issued_by_known_root = true; | 6491 verify_result.is_issued_by_known_root = true; |
6509 cert_verifier.AddResultForCert(cert.get(), verify_result, OK); | 6492 cert_verifier.AddResultForCert(cert.get(), verify_result, OK); |
6510 | 6493 |
6511 // Set up a MockCTVerifier and MockCTPolicyEnforcer to trigger an Expect CT | 6494 // Set up a DoNothingCTVerifier and MockCTPolicyEnforcer to trigger an Expect |
6512 // violation. | 6495 // CT violation. |
6513 MockCTVerifier ct_verifier; | 6496 DoNothingCTVerifier ct_verifier; |
6514 MockCTPolicyEnforcer ct_policy_enforcer; | 6497 MockCTPolicyEnforcer ct_policy_enforcer; |
6515 ct_policy_enforcer.set_default_result( | 6498 ct_policy_enforcer.set_default_result( |
6516 ct::CertPolicyCompliance::CERT_POLICY_NOT_ENOUGH_SCTS); | 6499 ct::CertPolicyCompliance::CERT_POLICY_NOT_ENOUGH_SCTS); |
6517 | 6500 |
6518 TestNetworkDelegate network_delegate; | 6501 TestNetworkDelegate network_delegate; |
6519 // Use a MockHostResolver (which by default maps all hosts to | 6502 // Use a MockHostResolver (which by default maps all hosts to |
6520 // 127.0.0.1) so that the request can be sent to a site on the Expect | 6503 // 127.0.0.1) so that the request can be sent to a site on the Expect |
6521 // CT preload list. | 6504 // CT preload list. |
6522 MockHostResolver host_resolver; | 6505 MockHostResolver host_resolver; |
6523 TestURLRequestContext context(true); | 6506 TestURLRequestContext context(true); |
(...skipping 4127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10651 AddTestInterceptor()->set_main_intercept_job(std::move(job)); | 10634 AddTestInterceptor()->set_main_intercept_job(std::move(job)); |
10652 | 10635 |
10653 req->Start(); | 10636 req->Start(); |
10654 req->Cancel(); | 10637 req->Cancel(); |
10655 base::RunLoop().RunUntilIdle(); | 10638 base::RunLoop().RunUntilIdle(); |
10656 EXPECT_EQ(ERR_ABORTED, d.request_status()); | 10639 EXPECT_EQ(ERR_ABORTED, d.request_status()); |
10657 EXPECT_EQ(0, d.received_redirect_count()); | 10640 EXPECT_EQ(0, d.received_redirect_count()); |
10658 } | 10641 } |
10659 | 10642 |
10660 } // namespace net | 10643 } // namespace net |
OLD | NEW |