summaryrefslogtreecommitdiffstats
path: root/src
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 /src
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>
Diffstat (limited to 'src')
-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));