pkcs11.getModuleSlots()

Enumerate a module's slots. This function returns an array containing one entry for each slot. Each entry contains the slot's name and, if the slot contains a token, information about the token.

You can only call this for a module that is installed in Firefox.

This is an asynchronous function that returns a Promise.

Syntax

var getting = browser.pkcs11.getModuleSlots(
  name              // string
)

Parameters

name
string. Name of the module. This must match the name property in the PKCS #11 manifest for the module.

Return value

A Promise that will be fulfilled with an array of objects, one for each slot that the module provides access to. Each object has two properties:

  • name: the name of the slot
  • token: if a token is present in this slot, a Token object. If no token is present in the slot, this property is null.

Token objects have the following properties:

name
string. Name of the token.
manufacturer
string. Name of the token's manufacturer.
HWVersion
string. Hardware version, as a PKCS #11 version number (two 32-bit integers separated with a dot, like "1.0".
FWVersion
string. Firmware version, as a PKCS #11 version number (two 32-bit integers separated with a dot, like "1.0".
serial
string. Serial number, whose format is defined by the token specification.
isLoggedIn
boolean: true if the token is logged on already, false otherwise.

If the module could not be found or some other error occurs, the promise will be rejected with an error message.

Browser compatibility

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet
getModuleSlots
No
No
58
?
No
No
?
?
No
?
?
?

Examples

Installs a module, then lists its slots and list the tokens they contain:

function onInstalled() {
  return browser.pkcs11.getModuleSlots("my_module");
}

function onGotSlots(slots) {
  for (slot of slots) {
    console.log(`Slot: ${slot.name}`);
    if (slot.token) {
      console.log(`Contains token: ${slot.token.name}`);
    } else {
      console.log('Is empty');
    }
  }
}

browser.pkcs11.installModule("my_module")
.then(onInstalled)
.then(onGotSlots);

© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/pkcs11/getModuleSlots