pkcs11.getModuleSlots()
列舉模組的插槽。此函式返回一個數組,其中包含每個插槽的一個條目。每個條目包含插槽的名稱,如果插槽包含令牌,則包含令牌資訊。
您只能對已安裝在 Firefox 中的模組呼叫此函式。
這是一個非同步函式,返回一個 Promise。
語法
js
let getting = browser.pkcs11.getModuleSlots(
name // string
)
引數
name-
string。模組名稱。此名稱必須與 PKCS #11 manifest 中模組的name屬性匹配。
返回值
一個 Promise,它將以一個物件陣列的形式兌現,該陣列包含模組提供訪問的每個插槽的一個物件。每個物件有兩個屬性:
name:插槽的名稱。token:如果此插槽中存在令牌,則為Token物件。如果插槽中不存在令牌,則此屬性為null。
Token 物件具有以下屬性:
name-
string。令牌的名稱。 manufacturer-
string。令牌製造商的名稱。 HWVersion-
string。硬體版本,格式為 PKCS #11 版本號(兩個 32 位整數用點分隔,例如“1.0”)。 FWVersion-
string。韌體版本,格式為 PKCS #11 版本號(兩個 32 位整數用點分隔,例如“1.0”)。 serial-
string。序列號,其格式由令牌規範定義。 isLoggedIn-
boolean:如果令牌已登入,則為true,否則為false。
如果找不到模組或發生其他錯誤,承諾將被拒絕並顯示錯誤訊息。
示例
安裝一個模組,然後列出它的插槽以及其中包含的令牌。
js
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);
瀏覽器相容性
載入中…