summaryrefslogtreecommitdiffstats
path: root/crypto
diff options
context:
space:
mode:
authoragl@chromium.org <agl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-01-10 19:10:33 +0000
committeragl@chromium.org <agl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-01-10 19:10:33 +0000
commitda7582b7e45e5f0aac0a1b072580be65b1502334 (patch)
tree3f122cb56cdc23336f31d8847d1814c995c98135 /crypto
parent0ca5bb5a118a4cee7a2976a2db286720e50537fe (diff)
downloadchromium_src-da7582b7e45e5f0aac0a1b072580be65b1502334.zip
chromium_src-da7582b7e45e5f0aac0a1b072580be65b1502334.tar.gz
chromium_src-da7582b7e45e5f0aac0a1b072580be65b1502334.tar.bz2
net: allow CRLSets to block specific SPKIs.
This change allows CRLSets to include a list of blocked SPKI fingerprints, which may save us doing emergency binary pushes in the future. It also corrects a bug where the NSS code was passing in the full SPKI rather than the SHA256 hash. BUG=none TEST=net_unittests Review URL: http://codereview.chromium.org/9149010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117069 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'crypto')
-rw-r--r--crypto/sha2.cc6
-rw-r--r--crypto/sha2.h7
2 files changed, 7 insertions, 6 deletions
diff --git a/crypto/sha2.cc b/crypto/sha2.cc
index da51cc5..6f36237 100644
--- a/crypto/sha2.cc
+++ b/crypto/sha2.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -10,13 +10,13 @@
namespace crypto {
-void SHA256HashString(const std::string& str, void* output, size_t len) {
+void SHA256HashString(const base::StringPiece& str, void* output, size_t len) {
scoped_ptr<SecureHash> ctx(SecureHash::Create(SecureHash::SHA256));
ctx->Update(str.data(), str.length());
ctx->Finish(output, len);
}
-std::string SHA256HashString(const std::string& str) {
+std::string SHA256HashString(const base::StringPiece& str) {
std::string output(kSHA256Length, 0);
SHA256HashString(str, string_as_array(&output), output.size());
return output;
diff --git a/crypto/sha2.h b/crypto/sha2.h
index 0ca1008..4aae6a0 100644
--- a/crypto/sha2.h
+++ b/crypto/sha2.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -8,6 +8,7 @@
#include <string>
+#include "base/string_piece.h"
#include "crypto/crypto_export.h"
namespace crypto {
@@ -21,12 +22,12 @@ static const size_t kSHA256Length = 32; // Length in bytes of a SHA-256 hash.
// Computes the SHA-256 hash of the input string 'str' and stores the first
// 'len' bytes of the hash in the output buffer 'output'. If 'len' > 32,
// only 32 bytes (the full hash) are stored in the 'output' buffer.
-CRYPTO_EXPORT void SHA256HashString(const std::string& str,
+CRYPTO_EXPORT void SHA256HashString(const base::StringPiece& str,
void* output, size_t len);
// Convenience version of the above that returns the result in a 32-byte
// string.
-CRYPTO_EXPORT std::string SHA256HashString(const std::string& str);
+CRYPTO_EXPORT std::string SHA256HashString(const base::StringPiece& str);
} // namespace crypto