summaryrefslogtreecommitdiffstats
path: root/security/manager/ssl/nsIPKCS11ModuleDB.idl
blob: 9221fd26c6c56190a274e26737c7d921a6708941 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/* -*- 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;
};