pkcs11.getModuleSlots()
Listet die Slots eines Moduls auf. Diese Funktion gibt ein Array mit einem Eintrag für jeden Slot zurück. Jeder Eintrag enthält den Namen des Slots und, falls der Slot ein Token enthält, Informationen über das Token.
Sie können diese Funktion nur für ein Modul aufrufen, das in Firefox installiert ist.
Dies ist eine asynchrone Funktion, die eine Promise zurückgibt.
Syntax
let getting = browser.pkcs11.getModuleSlots(
name // string
)
Parameter
name-
string. Name des Moduls. Dieser muss mit dername-Eigenschaft im PKCS #11-Manifest des Moduls übereinstimmen.
Rückgabewert
Eine Promise, die mit einem Array von Objekten erfüllt wird – jeweils einem für jeden Slot, auf den das Modul Zugriff bietet. Jedes Objekt hat zwei Eigenschaften:
name: der Name des Slotstoken: einToken-Objekt, wenn in diesem Slot ein Token vorhanden ist. Wenn sich kein Token im Slot befindet, 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 durch einen Punkt getrennte 32-Bit-Ganzzahlen, beispielsweise „1.0“). FWVersion-
string. Firmwareversion als PKCS #11-Versionsnummer (zwei durch einen Punkt getrennte 32-Bit-Ganzzahlen, beispielsweise „1.0“). serial-
string. Seriennummer, deren Format durch die Token-Spezifikation festgelegt ist. isLoggedIn-
boolean:true, wenn das Token bereits angemeldet ist, andernfallsfalse.
Wenn das Modul nicht gefunden werden kann oder ein anderer Fehler auftritt, wird die Promise mit einer Fehlermeldung zurückgewiesen.
Beispiele
Installiert ein Modul, listet anschließend dessen Slots auf und zeigt die darin enthaltenen Tokens an:
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);