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

Side by Side Diff: net/quic/chromium/quic_stream_factory_test.cc

Issue 2735733003: Disable commonName matching for certificates (Closed)
Patch Set: Created 3 years, 9 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 unified diff | Download patch
OLDNEW
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/chromium/quic_stream_factory.h" 5 #include "net/quic/chromium/quic_stream_factory.h"
6 6
7 #include <memory> 7 #include <memory>
8 #include <ostream> 8 #include <ostream>
9 #include <utility> 9 #include <utility>
10 10
(...skipping 5373 matching lines...) Expand 10 before | Expand all | Expand 10 after
5384 origin1_ = HostPortPair::FromURL(url); 5384 origin1_ = HostPortPair::FromURL(url);
5385 5385
5386 // Not used for requests, but this provides a test case where the certificate 5386 // Not used for requests, but this provides a test case where the certificate
5387 // is valid for the hostname of the alternative service. 5387 // is valid for the hostname of the alternative service.
5388 origin2_ = HostPortPair("mail.example.org", 433); 5388 origin2_ = HostPortPair("mail.example.org", 433);
5389 5389
5390 HostPortPair destination = GetDestination(); 5390 HostPortPair destination = GetDestination();
5391 5391
5392 scoped_refptr<X509Certificate> cert( 5392 scoped_refptr<X509Certificate> cert(
5393 ImportCertFromFile(GetTestCertsDirectory(), "wildcard.pem")); 5393 ImportCertFromFile(GetTestCertsDirectory(), "wildcard.pem"));
5394 bool unused; 5394 ASSERT_FALSE(cert->VerifyNameMatch(origin1_.host(), false));
5395 ASSERT_FALSE(cert->VerifyNameMatch(origin1_.host(), &unused)); 5395 ASSERT_TRUE(cert->VerifyNameMatch(origin2_.host(), false));
5396 ASSERT_TRUE(cert->VerifyNameMatch(origin2_.host(), &unused));
5397 5396
5398 ProofVerifyDetailsChromium verify_details; 5397 ProofVerifyDetailsChromium verify_details;
5399 verify_details.cert_verify_result.verified_cert = cert; 5398 verify_details.cert_verify_result.verified_cert = cert;
5400 verify_details.cert_verify_result.is_issued_by_known_root = true; 5399 verify_details.cert_verify_result.is_issued_by_known_root = true;
5401 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); 5400 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details);
5402 5401
5403 AddHangingSocketData(); 5402 AddHangingSocketData();
5404 5403
5405 QuicStreamRequest request(factory_.get()); 5404 QuicStreamRequest request(factory_.get());
5406 EXPECT_EQ(ERR_IO_PENDING, request.Request(destination, privacy_mode_, 5405 EXPECT_EQ(ERR_IO_PENDING, request.Request(destination, privacy_mode_,
(...skipping 11 matching lines...) Expand all
5418 5417
5419 GURL url1("https://www.example.org/"); 5418 GURL url1("https://www.example.org/");
5420 GURL url2("https://mail.example.org/"); 5419 GURL url2("https://mail.example.org/");
5421 origin1_ = HostPortPair::FromURL(url1); 5420 origin1_ = HostPortPair::FromURL(url1);
5422 origin2_ = HostPortPair::FromURL(url2); 5421 origin2_ = HostPortPair::FromURL(url2);
5423 5422
5424 HostPortPair destination = GetDestination(); 5423 HostPortPair destination = GetDestination();
5425 5424
5426 scoped_refptr<X509Certificate> cert( 5425 scoped_refptr<X509Certificate> cert(
5427 ImportCertFromFile(GetTestCertsDirectory(), "wildcard.pem")); 5426 ImportCertFromFile(GetTestCertsDirectory(), "wildcard.pem"));
5428 bool unused; 5427 ASSERT_TRUE(cert->VerifyNameMatch(origin1_.host(), false));
5429 ASSERT_TRUE(cert->VerifyNameMatch(origin1_.host(), &unused)); 5428 ASSERT_TRUE(cert->VerifyNameMatch(origin2_.host(), false));
5430 ASSERT_TRUE(cert->VerifyNameMatch(origin2_.host(), &unused)); 5429 ASSERT_FALSE(cert->VerifyNameMatch(kDifferentHostname, false));
5431 ASSERT_FALSE(cert->VerifyNameMatch(kDifferentHostname, &unused));
5432 5430
5433 ProofVerifyDetailsChromium verify_details; 5431 ProofVerifyDetailsChromium verify_details;
5434 verify_details.cert_verify_result.verified_cert = cert; 5432 verify_details.cert_verify_result.verified_cert = cert;
5435 verify_details.cert_verify_result.is_issued_by_known_root = true; 5433 verify_details.cert_verify_result.is_issued_by_known_root = true;
5436 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); 5434 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details);
5437 5435
5438 MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)}; 5436 MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)};
5439 std::unique_ptr<QuicEncryptedPacket> settings_packet( 5437 std::unique_ptr<QuicEncryptedPacket> settings_packet(
5440 client_maker_.MakeSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, 5438 client_maker_.MakeSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE,
5441 kDefaultMaxUncompressedHeaderSize, true, 5439 kDefaultMaxUncompressedHeaderSize, true,
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
5484 5482
5485 GURL url1("https://www.example.org/"); 5483 GURL url1("https://www.example.org/");
5486 GURL url2("https://mail.example.org/"); 5484 GURL url2("https://mail.example.org/");
5487 origin1_ = HostPortPair::FromURL(url1); 5485 origin1_ = HostPortPair::FromURL(url1);
5488 origin2_ = HostPortPair::FromURL(url2); 5486 origin2_ = HostPortPair::FromURL(url2);
5489 5487
5490 HostPortPair destination = GetDestination(); 5488 HostPortPair destination = GetDestination();
5491 5489
5492 scoped_refptr<X509Certificate> cert( 5490 scoped_refptr<X509Certificate> cert(
5493 ImportCertFromFile(GetTestCertsDirectory(), "wildcard.pem")); 5491 ImportCertFromFile(GetTestCertsDirectory(), "wildcard.pem"));
5494 bool unused; 5492 ASSERT_TRUE(cert->VerifyNameMatch(origin1_.host(), false));
5495 ASSERT_TRUE(cert->VerifyNameMatch(origin1_.host(), &unused)); 5493 ASSERT_TRUE(cert->VerifyNameMatch(origin2_.host(), false));
5496 ASSERT_TRUE(cert->VerifyNameMatch(origin2_.host(), &unused)); 5494 ASSERT_FALSE(cert->VerifyNameMatch(kDifferentHostname, false));
5497 ASSERT_FALSE(cert->VerifyNameMatch(kDifferentHostname, &unused));
5498 5495
5499 ProofVerifyDetailsChromium verify_details1; 5496 ProofVerifyDetailsChromium verify_details1;
5500 verify_details1.cert_verify_result.verified_cert = cert; 5497 verify_details1.cert_verify_result.verified_cert = cert;
5501 verify_details1.cert_verify_result.is_issued_by_known_root = true; 5498 verify_details1.cert_verify_result.is_issued_by_known_root = true;
5502 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details1); 5499 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details1);
5503 5500
5504 ProofVerifyDetailsChromium verify_details2; 5501 ProofVerifyDetailsChromium verify_details2;
5505 verify_details2.cert_verify_result.verified_cert = cert; 5502 verify_details2.cert_verify_result.verified_cert = cert;
5506 verify_details2.cert_verify_result.is_issued_by_known_root = true; 5503 verify_details2.cert_verify_result.is_issued_by_known_root = true;
5507 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details2); 5504 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details2);
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
5565 5562
5566 GURL url1("https://news.example.org/"); 5563 GURL url1("https://news.example.org/");
5567 GURL url2("https://mail.example.com/"); 5564 GURL url2("https://mail.example.com/");
5568 origin1_ = HostPortPair::FromURL(url1); 5565 origin1_ = HostPortPair::FromURL(url1);
5569 origin2_ = HostPortPair::FromURL(url2); 5566 origin2_ = HostPortPair::FromURL(url2);
5570 5567
5571 HostPortPair destination = GetDestination(); 5568 HostPortPair destination = GetDestination();
5572 5569
5573 scoped_refptr<X509Certificate> cert1( 5570 scoped_refptr<X509Certificate> cert1(
5574 ImportCertFromFile(GetTestCertsDirectory(), "wildcard.pem")); 5571 ImportCertFromFile(GetTestCertsDirectory(), "wildcard.pem"));
5575 bool unused; 5572 ASSERT_TRUE(cert1->VerifyNameMatch(origin1_.host(), false));
5576 ASSERT_TRUE(cert1->VerifyNameMatch(origin1_.host(), &unused)); 5573 ASSERT_FALSE(cert1->VerifyNameMatch(origin2_.host(), false));
5577 ASSERT_FALSE(cert1->VerifyNameMatch(origin2_.host(), &unused)); 5574 ASSERT_FALSE(cert1->VerifyNameMatch(kDifferentHostname, false));
5578 ASSERT_FALSE(cert1->VerifyNameMatch(kDifferentHostname, &unused));
5579 5575
5580 ProofVerifyDetailsChromium verify_details1; 5576 ProofVerifyDetailsChromium verify_details1;
5581 verify_details1.cert_verify_result.verified_cert = cert1; 5577 verify_details1.cert_verify_result.verified_cert = cert1;
5582 verify_details1.cert_verify_result.is_issued_by_known_root = true; 5578 verify_details1.cert_verify_result.is_issued_by_known_root = true;
5583 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details1); 5579 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details1);
5584 5580
5585 scoped_refptr<X509Certificate> cert2( 5581 scoped_refptr<X509Certificate> cert2(
5586 ImportCertFromFile(GetTestCertsDirectory(), "spdy_pooling.pem")); 5582 ImportCertFromFile(GetTestCertsDirectory(), "spdy_pooling.pem"));
5587 ASSERT_TRUE(cert2->VerifyNameMatch(origin2_.host(), &unused)); 5583 ASSERT_TRUE(cert2->VerifyNameMatch(origin2_.host(), false));
5588 ASSERT_FALSE(cert2->VerifyNameMatch(kDifferentHostname, &unused)); 5584 ASSERT_FALSE(cert2->VerifyNameMatch(kDifferentHostname, false));
5589 5585
5590 ProofVerifyDetailsChromium verify_details2; 5586 ProofVerifyDetailsChromium verify_details2;
5591 verify_details2.cert_verify_result.verified_cert = cert2; 5587 verify_details2.cert_verify_result.verified_cert = cert2;
5592 verify_details2.cert_verify_result.is_issued_by_known_root = true; 5588 verify_details2.cert_verify_result.is_issued_by_known_root = true;
5593 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details2); 5589 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details2);
5594 5590
5595 MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)}; 5591 MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)};
5596 std::unique_ptr<QuicEncryptedPacket> settings_packet( 5592 std::unique_ptr<QuicEncryptedPacket> settings_packet(
5597 client_maker_.MakeSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE, 5593 client_maker_.MakeSettingsPacket(1, SETTINGS_MAX_HEADER_LIST_SIZE,
5598 kDefaultMaxUncompressedHeaderSize, true, 5594 kDefaultMaxUncompressedHeaderSize, true,
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
5685 // Clear all cached states. 5681 // Clear all cached states.
5686 factory_->ClearCachedStatesInCryptoConfig( 5682 factory_->ClearCachedStatesInCryptoConfig(
5687 base::Callback<bool(const GURL&)>()); 5683 base::Callback<bool(const GURL&)>());
5688 EXPECT_TRUE(test_cases[0].state->certs().empty()); 5684 EXPECT_TRUE(test_cases[0].state->certs().empty());
5689 EXPECT_TRUE(test_cases[1].state->certs().empty()); 5685 EXPECT_TRUE(test_cases[1].state->certs().empty());
5690 EXPECT_TRUE(test_cases[2].state->certs().empty()); 5686 EXPECT_TRUE(test_cases[2].state->certs().empty());
5691 } 5687 }
5692 5688
5693 } // namespace test 5689 } // namespace test
5694 } // namespace net 5690 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/chromium/quic_network_transaction_unittest.cc ('k') | net/quic/test_tools/mock_crypto_client_stream.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698