diff options
author | agl@chromium.org <agl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-10 19:10:33 +0000 |
---|---|---|
committer | agl@chromium.org <agl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-10 19:10:33 +0000 |
commit | da7582b7e45e5f0aac0a1b072580be65b1502334 (patch) | |
tree | 3f122cb56cdc23336f31d8847d1814c995c98135 /crypto | |
parent | 0ca5bb5a118a4cee7a2976a2db286720e50537fe (diff) | |
download | chromium_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.cc | 6 | ||||
-rw-r--r-- | crypto/sha2.h | 7 |
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 |