| Index: components/ssl_config/ssl_config_service_manager_pref_unittest.cc
|
| diff --git a/components/ssl_config/ssl_config_service_manager_pref_unittest.cc b/components/ssl_config/ssl_config_service_manager_pref_unittest.cc
|
| index 675833045afa3132bd93e22f6f46ea5a0a80197f..9c2e24b80f636a251a02a79e2baf2ec064db85b0 100644
|
| --- a/components/ssl_config/ssl_config_service_manager_pref_unittest.cc
|
| +++ b/components/ssl_config/ssl_config_service_manager_pref_unittest.cc
|
| @@ -199,3 +199,53 @@ TEST_F(SSLConfigServiceManagerPrefTest, TLS13Feature) {
|
| config_service->GetSSLConfig(&ssl_config);
|
| EXPECT_EQ(net::SSL_PROTOCOL_VERSION_TLS1_3, ssl_config.version_max);
|
| }
|
| +
|
| +// Tests that SHA-1 signatures for local trust anchors can be enabled.
|
| +TEST_F(SSLConfigServiceManagerPrefTest, SHA1ForLocalAnchors) {
|
| + scoped_refptr<TestingPrefStore> local_state_store(new TestingPrefStore());
|
| +
|
| + TestingPrefServiceSimple local_state;
|
| + SSLConfigServiceManager::RegisterPrefs(local_state.registry());
|
| +
|
| + std::unique_ptr<SSLConfigServiceManager> config_manager(
|
| + SSLConfigServiceManager::CreateDefaultManager(
|
| + &local_state, base::ThreadTaskRunnerHandle::Get()));
|
| + ASSERT_TRUE(config_manager);
|
| + scoped_refptr<SSLConfigService> config_service(config_manager->Get());
|
| + ASSERT_TRUE(config_service);
|
| +
|
| + // By default, SHA-1 local trust anchors should be enabled when not
|
| + // using any pref service.
|
| + SSLConfig config1;
|
| + EXPECT_TRUE(config1.sha1_local_anchors_enabled);
|
| +
|
| + // Using a pref service without any preference set should result in
|
| + // SHA-1 local trust anchors being disabled.
|
| + SSLConfig config2;
|
| + config_service->GetSSLConfig(&config2);
|
| + EXPECT_FALSE(config2.sha1_local_anchors_enabled);
|
| +
|
| + // Enabling the local preference should result in SHA-1 local trust anchors
|
| + // being enabled.
|
| + local_state.SetUserPref(ssl_config::prefs::kCertEnableSha1LocalAnchors,
|
| + new base::FundamentalValue(true));
|
| + // Pump the message loop to notify the SSLConfigServiceManagerPref that the
|
| + // preferences changed.
|
| + base::RunLoop().RunUntilIdle();
|
| +
|
| + SSLConfig config3;
|
| + config_service->GetSSLConfig(&config3);
|
| + EXPECT_TRUE(config3.sha1_local_anchors_enabled);
|
| +
|
| + // Disabling the local preference should result in SHA-1 local trust
|
| + // anchors being disabled.
|
| + local_state.SetUserPref(ssl_config::prefs::kCertEnableSha1LocalAnchors,
|
| + new base::FundamentalValue(false));
|
| + // Pump the message loop to notify the SSLConfigServiceManagerPref that the
|
| + // preferences changed.
|
| + base::RunLoop().RunUntilIdle();
|
| +
|
| + SSLConfig config4;
|
| + config_service->GetSSLConfig(&config4);
|
| + EXPECT_FALSE(config4.sha1_local_anchors_enabled);
|
| +}
|
|
|