diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2019-01-30 16:23:50 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2019-02-04 13:52:20 +0000 |
commit | ef8e1c4109b6d00b9031cdab9c253fcc0c9cda06 (patch) | |
tree | 693329b55c5b7dfbad9fd55c7a6eab6ec22f17d7 /src | |
parent | 838d0f526888f7be1da006fbdacdd8e12a42341c (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.cpp | 13 |
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)); |