| Index: net/base/cert_database_nss.cc
|
| diff --git a/net/base/cert_database_nss.cc b/net/base/cert_database_nss.cc
|
| index a32a7a3923c80578759b1c2ee73d02179bfbc6cc..db2c47ad0451e63080c7558a6b87771a99a64ff0 100644
|
| --- a/net/base/cert_database_nss.cc
|
| +++ b/net/base/cert_database_nss.cc
|
| @@ -12,7 +12,9 @@
|
|
|
| #include "base/logging.h"
|
| #include "base/nss_util.h"
|
| +#include "base/nss_util_internal.h"
|
| #include "base/scoped_ptr.h"
|
| +#include "net/base/crypto_module.h"
|
| #include "net/base/net_errors.h"
|
| #include "net/base/x509_certificate.h"
|
| #include "net/third_party/mozilla_security_manager/nsNSSCertificateDB.h"
|
| @@ -106,9 +108,23 @@ void CertDatabase::ListCerts(CertificateList* certs) {
|
| CERT_DestroyCertList(cert_list);
|
| }
|
|
|
| +CryptoModule* CertDatabase::GetDefaultModule() const {
|
| + CryptoModule* module =
|
| + CryptoModule::CreateFromHandle(base::GetDefaultNSSKeySlot());
|
| + // The module is already referenced when returned from GetDefaultNSSKeymodule,
|
| + // so we need to deref it once.
|
| + PK11_FreeSlot(module->os_module_handle());
|
| +
|
| + return module;
|
| +}
|
| +
|
| int CertDatabase::ImportFromPKCS12(
|
| - const std::string& data, const string16& password) {
|
| - return psm::nsPKCS12Blob_Import(data.data(), data.size(), password);
|
| + net::CryptoModule* module,
|
| + const std::string& data,
|
| + const string16& password) {
|
| + return psm::nsPKCS12Blob_Import(module->os_module_handle(),
|
| + data.data(), data.size(),
|
| + password);
|
| }
|
|
|
| int CertDatabase::ExportToPKCS12(
|
|
|