Before this patch, we exposed a few interfaces that revolved around mapping a name to a specific PKCS#11 module, slot, or token. These APIs were all either problematic and/or unnecessary. In theory there could be two tokens in different modules with the same name, so nsIPK11TokenDB.findTokenByName wasn't guaranteed to return what the consumer expected it to. In general, these APIs were used by front-end code to go from a handle on the specific object in question to a string identifier and then back to a handle on the object. This was unnecessary - we can just retain the original handle. MozReview-Commit-ID: IbqLbV4wceA
41 lines
1.0 KiB
Plaintext
41 lines
1.0 KiB
Plaintext
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
|
*
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
#include "nsISupports.idl"
|
|
|
|
interface nsIPKCS11Module;
|
|
interface nsIPKCS11Slot;
|
|
interface nsISimpleEnumerator;
|
|
|
|
%{C++
|
|
#define NS_PKCS11MODULEDB_CONTRACTID "@mozilla.org/security/pkcs11moduledb;1"
|
|
%}
|
|
|
|
[scriptable, uuid(ff9fbcd7-9517-4334-b97a-ceed78909974)]
|
|
interface nsIPKCS11ModuleDB : nsISupports
|
|
{
|
|
[must_use]
|
|
void deleteModule(in AString moduleName);
|
|
|
|
[must_use]
|
|
void addModule(in AString moduleName,
|
|
in AString libraryFullPath,
|
|
in long cryptoMechanismFlags,
|
|
in long cipherFlags);
|
|
|
|
[must_use]
|
|
nsISimpleEnumerator listModules();
|
|
|
|
[must_use]
|
|
readonly attribute boolean canToggleFIPS;
|
|
|
|
[must_use]
|
|
void toggleFIPSMode();
|
|
|
|
[must_use]
|
|
readonly attribute boolean isFIPSEnabled;
|
|
};
|