summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2019-01-30 16:23:50 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2019-02-04 13:52:20 +0000
commitef8e1c4109b6d00b9031cdab9c253fcc0c9cda06 (patch)
tree693329b55c5b7dfbad9fd55c7a6eab6ec22f17d7
parent838d0f526888f7be1da006fbdacdd8e12a42341c (diff)
Reinstate CT verification using known logs
Lost in the transition to Chromium 69 as the function we were using no longer exists. Reimplemented by how it is now done in NetworkContext. Change-Id: I05c986f2941c7d5f2b8641adc8c619ec3f75e0b1 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
-rw-r--r--src/core/profile_io_data_qt.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/core/profile_io_data_qt.cpp b/src/core/profile_io_data_qt.cpp
index 5603d19b9..36f92e14f 100644
--- a/src/core/profile_io_data_qt.cpp
+++ b/src/core/profile_io_data_qt.cpp
@@ -279,8 +279,17 @@ void ProfileIODataQt::generateStorage()
m_storage->set_cert_verifier(net::CertVerifier::CreateDefault());
std::unique_ptr<net::MultiLogCTVerifier> ct_verifier(new net::MultiLogCTVerifier());
-// FIXME:
-// ct_verifier->AddLogs(net::ct::CreateLogVerifiersForKnownLogs());
+ std::vector<scoped_refptr<const net::CTLogVerifier>> ct_logs;
+ for (const auto &ct_log : certificate_transparency::GetKnownLogs()) {
+ scoped_refptr<const net::CTLogVerifier> log_verifier =
+ net::CTLogVerifier::Create(std::string(ct_log.log_key, ct_log.log_key_length),
+ ct_log.log_name,
+ ct_log.log_dns_domain);
+ if (!log_verifier)
+ continue;
+ ct_logs.push_back(std::move(log_verifier));
+ }
+ ct_verifier->AddLogs(ct_logs);
m_storage->set_cert_transparency_verifier(std::move(ct_verifier));
m_storage->set_ct_policy_enforcer(base::WrapUnique(new net::DefaultCTPolicyEnforcer()));
m_storage->set_host_resolver(net::HostResolver::CreateDefaultResolver(NULL));