| Index: chrome/browser/ssl/security_state_model_unittest.cc
|
| diff --git a/chrome/browser/ssl/security_state_model_unittest.cc b/chrome/browser/ssl/security_state_model_unittest.cc
|
| deleted file mode 100644
|
| index b8f15f8aab3b362975aaff8ac7e9c7923601cf81..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/ssl/security_state_model_unittest.cc
|
| +++ /dev/null
|
| @@ -1,154 +0,0 @@
|
| -// Copyright 2015 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "chrome/browser/ssl/security_state_model.h"
|
| -
|
| -#include "chrome/test/base/chrome_render_view_host_test_harness.h"
|
| -#include "chrome/test/base/testing_profile.h"
|
| -#include "content/public/browser/cert_store.h"
|
| -#include "content/public/test/mock_render_process_host.h"
|
| -#include "content/public/test/test_browser_thread_bundle.h"
|
| -#include "net/base/test_data_directory.h"
|
| -#include "net/cert/x509_certificate.h"
|
| -#include "net/ssl/ssl_connection_status_flags.h"
|
| -#include "net/test/cert_test_util.h"
|
| -#include "net/test/test_certificate_data.h"
|
| -#include "testing/gtest/include/gtest/gtest.h"
|
| -
|
| -namespace {
|
| -
|
| -const char kUrl[] = "https://foo.test";
|
| -
|
| -void GetTestSSLStatus(int process_id, content::SSLStatus* ssl_status) {
|
| - content::CertStore* cert_store = content::CertStore::GetInstance();
|
| - const scoped_refptr<net::X509Certificate>& cert =
|
| - net::ImportCertFromFile(net::GetTestCertsDirectory(), "sha1_2016.pem");
|
| - ASSERT_TRUE(cert);
|
| - ssl_status->cert_id = cert_store->StoreCert(cert.get(), process_id);
|
| - EXPECT_GT(ssl_status->cert_id, 0);
|
| - ssl_status->cert_status = net::CERT_STATUS_SHA1_SIGNATURE_PRESENT;
|
| - ssl_status->security_bits = 256;
|
| - ssl_status->connection_status = net::SSL_CONNECTION_VERSION_TLS1_2
|
| - << net::SSL_CONNECTION_VERSION_SHIFT;
|
| -}
|
| -
|
| -class SecurityStateModelTest : public ChromeRenderViewHostTestHarness {};
|
| -
|
| -// Tests that SHA1-signed certificates expiring in 2016 downgrade the
|
| -// security state of the page.
|
| -TEST_F(SecurityStateModelTest, SHA1Warning) {
|
| - GURL url(kUrl);
|
| - Profile* test_profile = profile();
|
| - SecurityStateModel::SecurityInfo security_info;
|
| - content::SSLStatus ssl_status;
|
| - ASSERT_NO_FATAL_FAILURE(GetTestSSLStatus(process()->GetID(), &ssl_status));
|
| - SecurityStateModel::SecurityInfoForRequest(url, ssl_status, test_profile,
|
| - &security_info);
|
| - EXPECT_EQ(SecurityStateModel::DEPRECATED_SHA1_MINOR,
|
| - security_info.sha1_deprecation_status);
|
| - EXPECT_EQ(SecurityStateModel::NONE, security_info.security_level);
|
| -}
|
| -
|
| -// Tests that SHA1 warnings don't interfere with the handling of mixed
|
| -// content.
|
| -TEST_F(SecurityStateModelTest, SHA1WarningMixedContent) {
|
| - GURL url(kUrl);
|
| - Profile* test_profile = profile();
|
| - SecurityStateModel::SecurityInfo security_info;
|
| - content::SSLStatus ssl_status;
|
| - ASSERT_NO_FATAL_FAILURE(GetTestSSLStatus(process()->GetID(), &ssl_status));
|
| - ssl_status.content_status = content::SSLStatus::DISPLAYED_INSECURE_CONTENT;
|
| - SecurityStateModel::SecurityInfoForRequest(url, ssl_status, test_profile,
|
| - &security_info);
|
| - EXPECT_EQ(SecurityStateModel::DEPRECATED_SHA1_MINOR,
|
| - security_info.sha1_deprecation_status);
|
| - EXPECT_EQ(SecurityStateModel::DISPLAYED_MIXED_CONTENT,
|
| - security_info.mixed_content_status);
|
| - EXPECT_EQ(SecurityStateModel::NONE, security_info.security_level);
|
| -
|
| - ssl_status.security_style = content::SECURITY_STYLE_AUTHENTICATION_BROKEN;
|
| - ssl_status.content_status = content::SSLStatus::RAN_INSECURE_CONTENT;
|
| - SecurityStateModel::SecurityInfoForRequest(url, ssl_status, test_profile,
|
| - &security_info);
|
| - EXPECT_EQ(SecurityStateModel::DEPRECATED_SHA1_MINOR,
|
| - security_info.sha1_deprecation_status);
|
| - EXPECT_EQ(SecurityStateModel::RAN_MIXED_CONTENT,
|
| - security_info.mixed_content_status);
|
| - EXPECT_EQ(SecurityStateModel::SECURITY_ERROR, security_info.security_level);
|
| -}
|
| -
|
| -// Tests that SHA1 warnings don't interfere with the handling of major
|
| -// cert errors.
|
| -TEST_F(SecurityStateModelTest, SHA1WarningBrokenHTTPS) {
|
| - GURL url(kUrl);
|
| - Profile* test_profile = profile();
|
| - SecurityStateModel::SecurityInfo security_info;
|
| - content::SSLStatus ssl_status;
|
| - ASSERT_NO_FATAL_FAILURE(GetTestSSLStatus(process()->GetID(), &ssl_status));
|
| - ssl_status.security_style = content::SECURITY_STYLE_AUTHENTICATION_BROKEN;
|
| - ssl_status.cert_status |= net::CERT_STATUS_DATE_INVALID;
|
| - SecurityStateModel::SecurityInfoForRequest(url, ssl_status, test_profile,
|
| - &security_info);
|
| - EXPECT_EQ(SecurityStateModel::DEPRECATED_SHA1_MINOR,
|
| - security_info.sha1_deprecation_status);
|
| - EXPECT_EQ(SecurityStateModel::SECURITY_ERROR, security_info.security_level);
|
| -}
|
| -
|
| -// Tests that |security_info.is_secure_protocol_and_ciphersuite| is
|
| -// computed correctly.
|
| -TEST_F(SecurityStateModelTest, SecureProtocolAndCiphersuite) {
|
| - GURL url(kUrl);
|
| - Profile* test_profile = profile();
|
| - SecurityStateModel::SecurityInfo security_info;
|
| - content::SSLStatus ssl_status;
|
| - ASSERT_NO_FATAL_FAILURE(GetTestSSLStatus(process()->GetID(), &ssl_status));
|
| - // TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 from
|
| - // http://www.iana.org/assignments/tls-parameters/tls-parameters.xml#tls-parameters-4
|
| - const uint16 ciphersuite = 0xc02f;
|
| - ssl_status.connection_status =
|
| - (net::SSL_CONNECTION_VERSION_TLS1_2 << net::SSL_CONNECTION_VERSION_SHIFT);
|
| - net::SSLConnectionStatusSetCipherSuite(ciphersuite,
|
| - &ssl_status.connection_status);
|
| - SecurityStateModel::SecurityInfoForRequest(url, ssl_status, test_profile,
|
| - &security_info);
|
| - EXPECT_TRUE(security_info.is_secure_protocol_and_ciphersuite);
|
| -}
|
| -
|
| -TEST_F(SecurityStateModelTest, NonsecureProtocol) {
|
| - GURL url(kUrl);
|
| - Profile* test_profile = profile();
|
| - SecurityStateModel::SecurityInfo security_info;
|
| - content::SSLStatus ssl_status;
|
| - ASSERT_NO_FATAL_FAILURE(GetTestSSLStatus(process()->GetID(), &ssl_status));
|
| - // TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 from
|
| - // http://www.iana.org/assignments/tls-parameters/tls-parameters.xml#tls-parameters-4
|
| - const uint16 ciphersuite = 0xc02f;
|
| - ssl_status.connection_status =
|
| - (net::SSL_CONNECTION_VERSION_TLS1_1 << net::SSL_CONNECTION_VERSION_SHIFT);
|
| - net::SSLConnectionStatusSetCipherSuite(ciphersuite,
|
| - &ssl_status.connection_status);
|
| - SecurityStateModel::SecurityInfoForRequest(url, ssl_status, test_profile,
|
| - &security_info);
|
| - EXPECT_FALSE(security_info.is_secure_protocol_and_ciphersuite);
|
| -}
|
| -
|
| -TEST_F(SecurityStateModelTest, NonsecureCiphersuite) {
|
| - GURL url(kUrl);
|
| - Profile* test_profile = profile();
|
| - SecurityStateModel::SecurityInfo security_info;
|
| - content::SSLStatus ssl_status;
|
| - ASSERT_NO_FATAL_FAILURE(GetTestSSLStatus(process()->GetID(), &ssl_status));
|
| - // TLS_RSA_WITH_AES_128_CCM_8 from
|
| - // http://www.iana.org/assignments/tls-parameters/tls-parameters.xml#tls-parameters-4
|
| - const uint16 ciphersuite = 0xc0a0;
|
| - ssl_status.connection_status =
|
| - (net::SSL_CONNECTION_VERSION_TLS1_2 << net::SSL_CONNECTION_VERSION_SHIFT);
|
| - net::SSLConnectionStatusSetCipherSuite(ciphersuite,
|
| - &ssl_status.connection_status);
|
| - SecurityStateModel::SecurityInfoForRequest(url, ssl_status, test_profile,
|
| - &security_info);
|
| - EXPECT_FALSE(security_info.is_secure_protocol_and_ciphersuite);
|
| -}
|
| -
|
| -} // namespace
|
|
|