pkcs11.getModuleSlots()
Ermittelt die Steckplätze eines Moduls. Diese Funktion gibt ein Array zurück, das einen Eintrag für jeden Steckplatz enthält. Jeder Eintrag enthält den Namen des Steckplatzes und, wenn der Steckplatz ein Token enthält, Informationen über das Token.
Sie können dies nur für ein Modul aufrufen, das in Firefox installiert ist.
Dies ist eine asynchrone Funktion, die ein Promise
zurückgibt.
Syntax
let getting = browser.pkcs11.getModuleSlots(
name // string
)
Parameter
name
-
string
. Name des Moduls. Dies muss mit dername
-Eigenschaft im PKCS #11-Manifest des Moduls übereinstimmen.
Rückgabewert
Ein Promise
, das mit einem Array von Objekten erfüllt wird, eines für jeden Steckplatz, auf den das Modul Zugriff gewährt. Jedes Objekt hat zwei Eigenschaften:
name
: der Name des Steckplatzestoken
: falls ein Token in diesem Steckplatz vorhanden ist, einToken
-Objekt. Falls kein Token im Steckplatz vorhanden ist, ist diese Eigenschaftnull
.
Token
-Objekte haben die folgenden Eigenschaften:
name
-
string
. Name des Tokens. manufacturer
-
string
. Name des Herstellers des Tokens. HWVersion
-
string
. Hardwareversion als PKCS #11-Versionsnummer (zwei 32-Bit-Ganzzahlen, getrennt durch einen Punkt, wie "1.0"). FWVersion
-
string
. Firmwareversion als PKCS #11-Versionsnummer (zwei 32-Bit-Ganzzahlen, getrennt durch einen Punkt, wie "1.0"). serial
-
string
. Seriennummer, deren Format durch die Tokenspezifikation definiert ist. isLoggedIn
-
boolean
:true
, wenn das Token bereits angemeldet ist,false
sonst.
Falls das Modul nicht gefunden werden konnte oder ein anderer Fehler auftritt, wird das Promise mit einer Fehlermeldung abgelehnt.
Beispiele
Installiert ein Modul, listet dann seine Steckplätze auf und listet die enthaltenen Tokens auf:
function onInstalled() {
return browser.pkcs11.getModuleSlots("my_module");
}
function onGotSlots(slots) {
for (const 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);
Browser-Kompatibilität
Loading…