| 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 "net/quic/test_tools/crypto_test_utils.h" | 5 #include "net/quic/test_tools/crypto_test_utils.h" |
| 6 | 6 |
| 7 #include <memory> | 7 #include <memory> |
| 8 | 8 |
| 9 #include "crypto/openssl_util.h" | 9 #include "crypto/openssl_util.h" |
| 10 #include "crypto/secure_hash.h" | 10 #include "crypto/secure_hash.h" |
| (...skipping 546 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 557 return string(); | 557 return string(); |
| 558 } | 558 } |
| 559 return it->second; | 559 return it->second; |
| 560 } | 560 } |
| 561 | 561 |
| 562 uint64_t LeafCertHashForTesting() { | 562 uint64_t LeafCertHashForTesting() { |
| 563 QuicReferenceCountedPointer<ProofSource::Chain> chain; | 563 QuicReferenceCountedPointer<ProofSource::Chain> chain; |
| 564 QuicSocketAddress server_address; | 564 QuicSocketAddress server_address; |
| 565 QuicCryptoProof proof; | 565 QuicCryptoProof proof; |
| 566 std::unique_ptr<ProofSource> proof_source(ProofSourceForTesting()); | 566 std::unique_ptr<ProofSource> proof_source(ProofSourceForTesting()); |
| 567 if (!proof_source->GetProof(server_address, "", "", | 567 |
| 568 AllSupportedVersions().front(), "", | 568 class Callback : public ProofSource::Callback { |
| 569 QuicTagVector(), &chain, &proof) || | 569 public: |
| 570 chain->certs.empty()) { | 570 Callback(bool* ok, QuicReferenceCountedPointer<ProofSource::Chain>* chain) |
| 571 : ok_(ok), chain_(chain) {} |
| 572 |
| 573 void Run(bool ok, |
| 574 const QuicReferenceCountedPointer<ProofSource::Chain>& chain, |
| 575 const QuicCryptoProof& /* proof */, |
| 576 std::unique_ptr<ProofSource::Details> /* details */) override { |
| 577 *ok_ = ok; |
| 578 *chain_ = chain; |
| 579 } |
| 580 |
| 581 private: |
| 582 bool* ok_; |
| 583 QuicReferenceCountedPointer<ProofSource::Chain>* chain_; |
| 584 }; |
| 585 |
| 586 // Note: relies on the callback being invoked synchronously |
| 587 bool ok = false; |
| 588 proof_source->GetProof( |
| 589 server_address, "", "", AllSupportedVersions().front(), "", |
| 590 QuicTagVector(), |
| 591 std::unique_ptr<ProofSource::Callback>(new Callback(&ok, &chain))); |
| 592 if (!ok || chain->certs.empty()) { |
| 571 DCHECK(false) << "Proof generation failed"; | 593 DCHECK(false) << "Proof generation failed"; |
| 572 return 0; | 594 return 0; |
| 573 } | 595 } |
| 574 | 596 |
| 575 return QuicUtils::FNV1a_64_Hash(chain->certs.at(0)); | 597 return QuicUtils::FNV1a_64_Hash(chain->certs.at(0)); |
| 576 } | 598 } |
| 577 | 599 |
| 578 class MockCommonCertSets : public CommonCertSets { | 600 class MockCommonCertSets : public CommonCertSets { |
| 579 public: | 601 public: |
| 580 MockCommonCertSets(StringPiece cert, uint64_t hash, uint32_t index) | 602 MockCommonCertSets(StringPiece cert, uint64_t hash, uint32_t index) |
| (...skipping 415 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 996 FullChloGenerator generator(crypto_config, server_addr, client_addr, clock, | 1018 FullChloGenerator generator(crypto_config, server_addr, client_addr, clock, |
| 997 proof, compressed_certs_cache, out); | 1019 proof, compressed_certs_cache, out); |
| 998 crypto_config->ValidateClientHello( | 1020 crypto_config->ValidateClientHello( |
| 999 inchoate_chlo, client_addr.host(), server_addr, version, clock, proof, | 1021 inchoate_chlo, client_addr.host(), server_addr, version, clock, proof, |
| 1000 generator.GetValidateClientHelloCallback()); | 1022 generator.GetValidateClientHelloCallback()); |
| 1001 } | 1023 } |
| 1002 | 1024 |
| 1003 } // namespace crypto_test_utils | 1025 } // namespace crypto_test_utils |
| 1004 } // namespace test | 1026 } // namespace test |
| 1005 } // namespace net | 1027 } // namespace net |
| OLD | NEW |