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

Side by Side Diff: chrome/browser/prerender/prerender_browsertest.cc

Issue 1474983003: Support for client certs in ssl_server_socket. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed nits Created 4 years, 10 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 <stddef.h> 5 #include <stddef.h>
6 #include <deque> 6 #include <deque>
7 #include <utility> 7 #include <utility>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 2888 matching lines...) Expand 10 before | Expand all | Expand 10 after
2899 // Checks that a top-level page which would normally request an SSL client 2899 // Checks that a top-level page which would normally request an SSL client
2900 // certificate will never be seen since it's an https top-level resource. 2900 // certificate will never be seen since it's an https top-level resource.
2901 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, 2901 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest,
2902 PrerenderSSLClientCertTopLevel) { 2902 PrerenderSSLClientCertTopLevel) {
2903 ProfileIOData::FromResourceContext( 2903 ProfileIOData::FromResourceContext(
2904 current_browser()->profile()->GetResourceContext())-> 2904 current_browser()->profile()->GetResourceContext())->
2905 set_client_cert_store_factory_for_testing( 2905 set_client_cert_store_factory_for_testing(
2906 base::Bind(&CreateCertStore)); 2906 base::Bind(&CreateCertStore));
2907 net::EmbeddedTestServer https_server(net::EmbeddedTestServer::TYPE_HTTPS); 2907 net::EmbeddedTestServer https_server(net::EmbeddedTestServer::TYPE_HTTPS);
2908 net::SSLServerConfig ssl_config; 2908 net::SSLServerConfig ssl_config;
2909 ssl_config.require_client_cert = true; 2909 ssl_config.client_cert_type =
2910 net::SSLServerConfig::ClientCertType::REQUIRE_CLIENT_CERT;
2910 https_server.SetSSLConfig(net::EmbeddedTestServer::CERT_OK, ssl_config); 2911 https_server.SetSSLConfig(net::EmbeddedTestServer::CERT_OK, ssl_config);
2911 https_server.ServeFilesFromSourceDirectory("chrome/test/data"); 2912 https_server.ServeFilesFromSourceDirectory("chrome/test/data");
2912 ASSERT_TRUE(https_server.Start()); 2913 ASSERT_TRUE(https_server.Start());
2913 GURL https_url = https_server.GetURL("/prerender/prerender_page.html"); 2914 GURL https_url = https_server.GetURL("/prerender/prerender_page.html");
2914 PrerenderTestURL(https_url, FINAL_STATUS_SSL_CLIENT_CERTIFICATE_REQUESTED, 0); 2915 PrerenderTestURL(https_url, FINAL_STATUS_SSL_CLIENT_CERTIFICATE_REQUESTED, 0);
2915 } 2916 }
2916 2917
2917 // Checks that an SSL Client Certificate request that originates from a 2918 // Checks that an SSL Client Certificate request that originates from a
2918 // subresource will cancel the prerendered page. 2919 // subresource will cancel the prerendered page.
2919 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, 2920 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest,
2920 PrerenderSSLClientCertSubresource) { 2921 PrerenderSSLClientCertSubresource) {
2921 ProfileIOData::FromResourceContext( 2922 ProfileIOData::FromResourceContext(
2922 current_browser()->profile()->GetResourceContext())-> 2923 current_browser()->profile()->GetResourceContext())->
2923 set_client_cert_store_factory_for_testing( 2924 set_client_cert_store_factory_for_testing(
2924 base::Bind(&CreateCertStore)); 2925 base::Bind(&CreateCertStore));
2925 net::EmbeddedTestServer https_server(net::EmbeddedTestServer::TYPE_HTTPS); 2926 net::EmbeddedTestServer https_server(net::EmbeddedTestServer::TYPE_HTTPS);
2926 net::SSLServerConfig ssl_config; 2927 net::SSLServerConfig ssl_config;
2927 ssl_config.require_client_cert = true; 2928 ssl_config.client_cert_type =
2929 net::SSLServerConfig::ClientCertType::REQUIRE_CLIENT_CERT;
2928 https_server.SetSSLConfig(net::EmbeddedTestServer::CERT_OK, ssl_config); 2930 https_server.SetSSLConfig(net::EmbeddedTestServer::CERT_OK, ssl_config);
2929 https_server.ServeFilesFromSourceDirectory("chrome/test/data"); 2931 https_server.ServeFilesFromSourceDirectory("chrome/test/data");
2930 ASSERT_TRUE(https_server.Start()); 2932 ASSERT_TRUE(https_server.Start());
2931 GURL https_url = https_server.GetURL("/prerender/image.jpeg"); 2933 GURL https_url = https_server.GetURL("/prerender/image.jpeg");
2932 base::StringPairs replacement_text; 2934 base::StringPairs replacement_text;
2933 replacement_text.push_back( 2935 replacement_text.push_back(
2934 std::make_pair("REPLACE_WITH_IMAGE_URL", https_url.spec())); 2936 std::make_pair("REPLACE_WITH_IMAGE_URL", https_url.spec()));
2935 std::string replacement_path; 2937 std::string replacement_path;
2936 net::test_server::GetFilePathWithReplacements( 2938 net::test_server::GetFilePathWithReplacements(
2937 "/prerender/prerender_with_image.html", replacement_text, 2939 "/prerender/prerender_with_image.html", replacement_text,
2938 &replacement_path); 2940 &replacement_path);
2939 PrerenderTestURL(replacement_path, 2941 PrerenderTestURL(replacement_path,
2940 FINAL_STATUS_SSL_CLIENT_CERTIFICATE_REQUESTED, 2942 FINAL_STATUS_SSL_CLIENT_CERTIFICATE_REQUESTED,
2941 0); 2943 0);
2942 } 2944 }
2943 2945
2944 // Checks that an SSL Client Certificate request that originates from an 2946 // Checks that an SSL Client Certificate request that originates from an
2945 // iframe will cancel the prerendered page. 2947 // iframe will cancel the prerendered page.
2946 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderSSLClientCertIframe) { 2948 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderSSLClientCertIframe) {
2947 ProfileIOData::FromResourceContext( 2949 ProfileIOData::FromResourceContext(
2948 current_browser()->profile()->GetResourceContext())-> 2950 current_browser()->profile()->GetResourceContext())->
2949 set_client_cert_store_factory_for_testing( 2951 set_client_cert_store_factory_for_testing(
2950 base::Bind(&CreateCertStore)); 2952 base::Bind(&CreateCertStore));
2951 net::EmbeddedTestServer https_server(net::EmbeddedTestServer::TYPE_HTTPS); 2953 net::EmbeddedTestServer https_server(net::EmbeddedTestServer::TYPE_HTTPS);
2952 net::SSLServerConfig ssl_config; 2954 net::SSLServerConfig ssl_config;
2953 ssl_config.require_client_cert = true; 2955 ssl_config.client_cert_type =
2956 net::SSLServerConfig::ClientCertType::REQUIRE_CLIENT_CERT;
2954 https_server.SetSSLConfig(net::EmbeddedTestServer::CERT_OK, ssl_config); 2957 https_server.SetSSLConfig(net::EmbeddedTestServer::CERT_OK, ssl_config);
2955 https_server.ServeFilesFromSourceDirectory("chrome/test/data"); 2958 https_server.ServeFilesFromSourceDirectory("chrome/test/data");
2956 ASSERT_TRUE(https_server.Start()); 2959 ASSERT_TRUE(https_server.Start());
2957 GURL https_url = 2960 GURL https_url =
2958 https_server.GetURL("/prerender/prerender_embedded_content.html"); 2961 https_server.GetURL("/prerender/prerender_embedded_content.html");
2959 base::StringPairs replacement_text; 2962 base::StringPairs replacement_text;
2960 replacement_text.push_back( 2963 replacement_text.push_back(
2961 std::make_pair("REPLACE_WITH_URL", https_url.spec())); 2964 std::make_pair("REPLACE_WITH_URL", https_url.spec()));
2962 std::string replacement_path; 2965 std::string replacement_path;
2963 net::test_server::GetFilePathWithReplacements( 2966 net::test_server::GetFilePathWithReplacements(
(...skipping 1083 matching lines...) Expand 10 before | Expand all | Expand 10 after
4047 4050
4048 NavigateToDestURL(); 4051 NavigateToDestURL();
4049 EXPECT_EQ(1U, task_manager.tasks().size()); 4052 EXPECT_EQ(1U, task_manager.tasks().size());
4050 } 4053 }
4051 4054
4052 } // namespace 4055 } // namespace
4053 4056
4054 #endif // defined(ENABLE_TASK_MANAGER) 4057 #endif // defined(ENABLE_TASK_MANAGER)
4055 4058
4056 } // namespace prerender 4059 } // namespace prerender
OLDNEW
« no previous file with comments | « chrome/browser/extensions/background_xhr_browsertest.cc ('k') | content/browser/shared_worker/worker_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698