Index: chrome/browser/safe_browsing/download_protection_service.cc |
diff --git a/chrome/browser/safe_browsing/download_protection_service.cc b/chrome/browser/safe_browsing/download_protection_service.cc |
index fcd68129ee43dd8a32554573b26aefda50b40cc0..7498a4c41e57285c293e0882fa246f685a746efc 100644 |
--- a/chrome/browser/safe_browsing/download_protection_service.cc |
+++ b/chrome/browser/safe_browsing/download_protection_service.cc |
@@ -20,6 +20,7 @@ |
#include "base/metrics/sparse_histogram.h" |
#include "base/rand_util.h" |
#include "base/sequenced_task_runner_helpers.h" |
+#include "base/sha1.h" |
#include "base/stl_util.h" |
#include "base/strings/string_number_conversions.h" |
#include "base/strings/string_split.h" |
@@ -1643,8 +1644,10 @@ void DownloadProtectionService::GetCertificateWhitelistStrings( |
paths_to_check.insert(ou_tokens[i]); |
} |
- std::string issuer_fp = base::HexEncode(issuer.fingerprint().data, |
- sizeof(issuer.fingerprint().data)); |
+ std::string issuer_der; |
+ net::X509Certificate::GetDEREncoded(issuer.os_cert_handle(), &issuer_der); |
+ std::string hashed = base::SHA1HashString(issuer_der); |
+ std::string issuer_fp = base::HexEncode(hashed.data(), hashed.size()); |
for (std::set<std::string>::iterator it = paths_to_check.begin(); |
it != paths_to_check.end(); ++it) { |
whitelist_strings->push_back("cert/" + issuer_fp + *it); |