| Index: components/ownership/owner_key_util_impl.cc
|
| diff --git a/components/ownership/owner_key_util_impl.cc b/components/ownership/owner_key_util_impl.cc
|
| index bc7208e4642d21603513324d40236fddf4a4207c..cab5ffad2c759dc35ddc00cf211b37dc7b6438f8 100644
|
| --- a/components/ownership/owner_key_util_impl.cc
|
| +++ b/components/ownership/owner_key_util_impl.cc
|
| @@ -8,7 +8,12 @@
|
|
|
| #include "base/files/file_util.h"
|
| #include "base/logging.h"
|
| +
|
| +#if defined(USE_NSS_CERTS)
|
| +#include <keythi.h>
|
| +#include "crypto/nss_key_util.h"
|
| #include "crypto/rsa_private_key.h"
|
| +#endif
|
|
|
| namespace ownership {
|
|
|
| @@ -54,7 +59,18 @@ bool OwnerKeyUtilImpl::ImportPublicKey(std::vector<uint8>* output) {
|
| crypto::RSAPrivateKey* OwnerKeyUtilImpl::FindPrivateKeyInSlot(
|
| const std::vector<uint8>& key,
|
| PK11SlotInfo* slot) {
|
| - return crypto::RSAPrivateKey::FindFromPublicKeyInfoInSlot(key, slot);
|
| + crypto::ScopedSECKEYPrivateKey private_key(
|
| + crypto::FindNSSKeyFromPublicKeyInfoInSlot(key, slot));
|
| + if (!private_key || SECKEY_GetPrivateKeyType(private_key.get()) != rsaKey)
|
| + return nullptr;
|
| +#if defined(USE_OPENSSL)
|
| + // TODO(davidben): This assumes that crypto::RSAPrivateKey also uses NSS.
|
| + // https://crbug.com/478777
|
| + NOTIMPLEMENTED();
|
| + return nullptr;
|
| +#else
|
| + return crypto::RSAPrivateKey::CreateFromKey(private_key.get());
|
| +#endif
|
| }
|
| #endif // defined(USE_NSS_CERTS)
|
|
|
|
|