OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "chrome/browser/ssl/ssl_error_classification.h" | 5 #include "chrome/browser/ssl/ssl_error_classification.h" |
6 | 6 |
7 #include "base/files/file_path.h" | 7 #include "base/files/file_path.h" |
8 #include "base/time/time.h" | 8 #include "base/time/time.h" |
9 #include "net/base/test_data_directory.h" | 9 #include "net/base/test_data_directory.h" |
10 #include "net/cert/x509_certificate.h" | 10 #include "net/cert/x509_certificate.h" |
11 #include "net/test/cert_test_util.h" | 11 #include "net/test/cert_test_util.h" |
12 #include "net/test/test_certificate_data.h" | 12 #include "net/test/test_certificate_data.h" |
13 #include "testing/gtest/include/gtest/gtest.h" | 13 #include "testing/gtest/include/gtest/gtest.h" |
14 | 14 |
| 15 #if defined(OS_WIN) |
| 16 #include "base/win/windows_version.h" |
| 17 #endif |
| 18 |
15 using base::Time; | 19 using base::Time; |
16 | 20 |
17 TEST(SSLErrorClassification, TestDateInvalidScore) { | 21 TEST(SSLErrorClassification, TestDateInvalidScore) { |
18 base::FilePath certs_dir = net::GetTestCertsDirectory(); | 22 base::FilePath certs_dir = net::GetTestCertsDirectory(); |
19 scoped_refptr<net::X509Certificate> expired_cert = | 23 scoped_refptr<net::X509Certificate> expired_cert = |
20 net::ImportCertFromFile(certs_dir, "expired_cert.pem"); | 24 net::ImportCertFromFile(certs_dir, "expired_cert.pem"); |
21 base::Time time; | 25 base::Time time; |
22 | 26 |
23 { | 27 { |
24 EXPECT_TRUE(base::Time::FromString("Wed, 03 Jan 2007 12:00:00 GMT", &time)); | 28 EXPECT_TRUE(base::Time::FromString("Wed, 03 Jan 2007 12:00:00 GMT", &time)); |
25 SSLErrorClassification ssl_error(time, *expired_cert); | 29 SSLErrorClassification ssl_error(time, *expired_cert); |
26 EXPECT_FLOAT_EQ(0.2f, ssl_error.CalculateScoreTimePassedSinceExpiry()); | 30 EXPECT_FLOAT_EQ(0.2f, ssl_error.CalculateScoreTimePassedSinceExpiry()); |
27 } | 31 } |
28 | 32 |
29 { | 33 { |
30 EXPECT_TRUE(base::Time::FromString("Sat, 06 Jan 2007 12:00:00 GMT", &time)); | 34 EXPECT_TRUE(base::Time::FromString("Sat, 06 Jan 2007 12:00:00 GMT", &time)); |
31 SSLErrorClassification ssl_error(time, *expired_cert); | 35 SSLErrorClassification ssl_error(time, *expired_cert); |
32 EXPECT_FLOAT_EQ(0.3f, ssl_error.CalculateScoreTimePassedSinceExpiry()); | 36 EXPECT_FLOAT_EQ(0.3f, ssl_error.CalculateScoreTimePassedSinceExpiry()); |
33 } | 37 } |
34 | 38 |
35 { | 39 { |
36 EXPECT_TRUE(base::Time::FromString("Mon, 08 Jan 2007 12:00:00 GMT", &time)); | 40 EXPECT_TRUE(base::Time::FromString("Mon, 08 Jan 2007 12:00:00 GMT", &time)); |
37 SSLErrorClassification ssl_error(time, *expired_cert); | 41 SSLErrorClassification ssl_error(time, *expired_cert); |
38 EXPECT_FLOAT_EQ(0.4f, ssl_error.CalculateScoreTimePassedSinceExpiry()); | 42 EXPECT_FLOAT_EQ(0.4f, ssl_error.CalculateScoreTimePassedSinceExpiry()); |
39 } | 43 } |
40 | 44 |
41 } | 45 } |
| 46 |
| 47 TEST(SSLErrorClassification, SSLBlockingPageWindowsVersionTest) { |
| 48 bool os_version_win = false; |
| 49 #if defined(OS_WIN) |
| 50 os_version_win = true; |
| 51 OSVERSIONINFOEX version_info = { sizeof version_info }; |
| 52 GetVersionEx(reinterpret_cast<OSVERSIONINFO*>(&version_info)); |
| 53 if ((version_info.dwMajorVersion == 5) && (version_info.dwMinorVersion == 1) |
| 54 && (version_info.wServicePackMajor < 3)) |
| 55 EXPECT_TRUE(SSLErrorClassification::IsWindowsVersionSP3OrLower()); |
| 56 else |
| 57 EXPECT_FALSE(SSLErrorClassification::IsWindowsVersionSP3OrLower()); |
| 58 #endif |
| 59 if (!os_version_win) |
| 60 EXPECT_FALSE(SSLErrorClassification::IsWindowsVersionSP3OrLower()); |
| 61 } |
OLD | NEW |