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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
---
title: pkcs11.getModuleSlots()
slug: Mozilla/Add-ons/WebExtensions/API/pkcs11/getModuleSlots
tags:
- API
- Add-ons
- Extensions
- Method
- Reference
- WebExtensions
- getModuleSlots
- pkcs11
translation_of: Mozilla/Add-ons/WebExtensions/API/pkcs11/getModuleSlots
---
<div>{{AddonSidebar()}}</div>
<p>Enumérer les emplacements d'un module. Cette fonction renvoie un tableau contenant une entrée pour chaque emplacement. Chaque entrée contient le nom de l'emplacement et, si l'emplacement contient un jeton, des informations sur le jeton.</p>
<p>Vous ne pouvez appeler cela que pour un module installé dans Firefox</p>
<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>
<h2 id="Syntaxe">Syntaxe</h2>
<pre class="syntaxbox brush:js">var getting = browser.pkcs11.getModuleSlots(
name // string
)
</pre>
<h3 id="Paramètres">Paramètres</h3>
<dl>
<dt><code>name</code></dt>
<dd><code>string</code>. Nom du module. Cela doit correspondre à la propriété <code>name</code> dans le <a href="/fr/Add-ons/WebExtensions/Native_manifests#PKCS_11_manifests">manifest PKCS #11</a> pour le module.</dd>
</dl>
<h3 id="Valeur_retournée">Valeur retournée</h3>
<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie avec un tableau d'objets, un pour chaque emplacement auquel le module donne accès. Chaque objet a deux propriétés :</p>
<ul>
<li><code>name</code>: le nom de l'emplacement</li>
<li><code>token</code>: si un jeton est présent dans cet emplacement, un objet <code>Token</code>. Si aucun le jeton n'est présent dans l'emplacement, la propriété est <code>null</code>.</li>
</ul>
<p><code>Token</code> Les objets ont les propriétés suivantes :</p>
<dl>
<dt><code>name</code></dt>
<dd><code>string</code>. Nom du jeton.</dd>
<dt><code>manufacturer</code></dt>
<dd><code>string</code>. Nom du jeton fabriqué.</dd>
<dt><code>HWVersion</code></dt>
<dd><code>string</code>. Version matérielle, en tant que numéro de version PKCS #11 (deux entiers 32-bit séparés par un point, comme "1.0".</dd>
<dt><code>FWVersion</code></dt>
<dd><code>string</code>. Version du micrologiciel, en tant que numéro de version PKCS #11 (deux 32-bit séparés par un point, comme "1.0".</dd>
<dt><code>serial</code></dt>
<dd><code>string</code>. Numéro de série, dont le format est défini par la spécification de jeton.</dd>
<dt><code>isLoggedIn</code></dt>
<dd><code>boolean</code>: <code>true</code> si le jeton est déjà connecté, <code>false</code> sinon.</dd>
</dl>
<p>Si le module n'a pas pu être trouvé ou qu'une autre erreur se produit, la promise sera rejetée avec un message d'erreur.</p>
<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
<p>{{Compat("webextensions.api.pkcs11.getModuleSlots")}}</p>
<h2 id="Exemples">Exemples</h2>
<p>Installe un module, puis dresse la liste de ses emplacements et liste des jetons qu'ils contiennent :</p>
<pre class="brush: js">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);</pre>
<p>{{WebExtExamples}}</p>
|