| Index: crypto/ec_private_key_nss.cc
|
| diff --git a/crypto/ec_private_key_nss.cc b/crypto/ec_private_key_nss.cc
|
| index 5092010c939b5f734f7c608e1e2ec3c0a35e17c3..5f8a4e6c7841328bed79b776157df2cea6170165 100644
|
| --- a/crypto/ec_private_key_nss.cc
|
| +++ b/crypto/ec_private_key_nss.cc
|
| @@ -15,7 +15,6 @@ extern "C" {
|
| #include <pk11pub.h>
|
| #include <secmod.h>
|
|
|
| -#include "base/lazy_instance.h"
|
| #include "base/logging.h"
|
| #include "base/memory/scoped_ptr.h"
|
| #include "crypto/nss_util.h"
|
| @@ -25,34 +24,6 @@ extern "C" {
|
|
|
| namespace {
|
|
|
| -PK11SlotInfo* GetTempKeySlot() {
|
| - return PK11_GetInternalSlot();
|
| -}
|
| -
|
| -class EllipticCurveSupportChecker {
|
| - public:
|
| - EllipticCurveSupportChecker() {
|
| - // NOTE: we can do this check here only because we use the NSS internal
|
| - // slot. If we support other slots in the future, checking whether they
|
| - // support ECDSA may block NSS, and the value may also change as devices are
|
| - // inserted/removed, so we would need to re-check on every use.
|
| - crypto::EnsureNSSInit();
|
| - crypto::ScopedPK11Slot slot(GetTempKeySlot());
|
| - supported_ = PK11_DoesMechanism(slot.get(), CKM_EC_KEY_PAIR_GEN) &&
|
| - PK11_DoesMechanism(slot.get(), CKM_ECDSA);
|
| - }
|
| -
|
| - bool Supported() {
|
| - return supported_;
|
| - }
|
| -
|
| - private:
|
| - bool supported_;
|
| -};
|
| -
|
| -static base::LazyInstance<EllipticCurveSupportChecker>::Leaky
|
| - g_elliptic_curve_supported = LAZY_INSTANCE_INITIALIZER;
|
| -
|
| // Copied from rsa_private_key_nss.cc.
|
| static bool ReadAttribute(SECKEYPrivateKey* key,
|
| CK_ATTRIBUTE_TYPE type,
|
| @@ -82,15 +53,10 @@ ECPrivateKey::~ECPrivateKey() {
|
| }
|
|
|
| // static
|
| -bool ECPrivateKey::IsSupported() {
|
| - return g_elliptic_curve_supported.Get().Supported();
|
| -}
|
| -
|
| -// static
|
| ECPrivateKey* ECPrivateKey::Create() {
|
| EnsureNSSInit();
|
|
|
| - ScopedPK11Slot slot(GetTempKeySlot());
|
| + ScopedPK11Slot slot(PK11_GetInternalSlot());
|
| if (!slot)
|
| return nullptr;
|
|
|
| @@ -140,7 +106,7 @@ ECPrivateKey* ECPrivateKey::CreateFromEncryptedPrivateKeyInfo(
|
| const std::vector<uint8>& subject_public_key_info) {
|
| EnsureNSSInit();
|
|
|
| - ScopedPK11Slot slot(GetTempKeySlot());
|
| + ScopedPK11Slot slot(PK11_GetInternalSlot());
|
| if (!slot)
|
| return nullptr;
|
|
|
|
|