diff options
Diffstat (limited to 'files/fr/mozilla/add-ons/webextensions/api/webrequest/getsecurityinfo/index.html')
-rw-r--r-- | files/fr/mozilla/add-ons/webextensions/api/webrequest/getsecurityinfo/index.html | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/files/fr/mozilla/add-ons/webextensions/api/webrequest/getsecurityinfo/index.html b/files/fr/mozilla/add-ons/webextensions/api/webrequest/getsecurityinfo/index.html new file mode 100644 index 0000000000..28f7039917 --- /dev/null +++ b/files/fr/mozilla/add-ons/webextensions/api/webrequest/getsecurityinfo/index.html @@ -0,0 +1,106 @@ +--- +title: webRequest.getSecurityInfo() +slug: Mozilla/Add-ons/WebExtensions/API/webRequest/getSecurityInfo +tags: + - API + - Add-ons + - Extensions + - Method + - Reference + - WebExtensions + - getSecurityInfo + - webRequest +translation_of: Mozilla/Add-ons/WebExtensions/API/webRequest/getSecurityInfo +--- +<div>{{AddonSidebar()}}</div> + +<p>Utilisez cette fonction pour obtenir des informations détaillées sur la connexion <a href="/fr/docs/Glossaire/TLS">TLS</a> associée à une demande particulière..</p> + +<p>Vous passez à cette fonction la <code>requestId</code> pour la requête en question, et quelques paramètres supplémentaires optionnels. Il retourne une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera résolue à un objet {{WebExtAPIRef("webRequest.SecurityInfo", "SecurityInfo")}}.</p> + +<p>Vous ne pouvez appeler cette fonction qu'à partir de l'écouteur {{WebExtAPIRef("webRequest.onHeadersReceived")}}. La <code>requestId</code> peut être trouvée dans l'objet <code>details</code> object qui est passé dans l'écouteur.</p> + +<p>Vous devez également passer l'option "blocking" à <code>webRequest.onHeadersReceived.addListener()</code>. Ainsi, pour utiliser cette API, vous devez avoir la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions">permission de l'API</a> "webRequestBlocking", ainsi que les permissions normales nécessaires pour utiliser les écouteurs <code>webRequest</code> (la permission "webRequest" et la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions">permission hôte</a> pour le hôte).</p> + +<h2 id="Syntaxe">Syntaxe</h2> + +<pre class="syntaxbox brush:js">var gettingInfo = browser.webRequest.getSecurityInfo( + requestId, // string + options // object +) +</pre> + +<h3 id="Paramètres">Paramètres</h3> + +<dl> + <dt><code>requestId</code></dt> + <dd><code>string</code>. ID de la requête pour laquelle vous souhaitez obtenir des informations de sécurité. Vous pouvez l'obtenir à partir de l'objet de <code>details</code> qui est passé dans n'importe quel écouteur d'événement <code>webRequest</code>.</dd> + <dt><code>options</code></dt> + <dd><code>object</code>. Un objet qui peut contenir l'une des propriétés suivantes, toutes facultatives :</dd> + <dd> + <dl class="reference-values"> + <dt><code>certificateChain</code> {{optional_inline}}</dt> + <dd><code>boolean</code>. Si <code>true</code>, l'objet {{WebExtAPIRef("webRequest.SecurityInfo", "SecurityInfo")}} retourné inclura toute la chaîne de certificats jusqu'à et y compris la racine de confiance. Si <code>false</code>, <br> + il n'inclura que le certificat du serveur. La valeur par défaut est <code>false</code>.</dd> + <dt><code>rawDER</code> {{optional_inline}}</dt> + <dd><code>boolean</code>. Si true, chaque propriété {{WebExtAPIRef("webRequest.CertificateInfo", "CertificateInfo")}} dans le {{WebExtAPIRef("webRequest.SecurityInfo", "SecurityInfo.certificates")}} contiendra une propriété <code>rawDER</code>. Il contient le DER-encoded ASN.1 qui comprend les données du certificat.</dd> + </dl> + </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 se résout en un objet {{WebExtAPIRef("webRequest.SecurityInfo", "SecurityInfo")}}.</p> + +<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2> + +<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p> + +<p>{{Compat("webextensions.api.webRequest.getSecurityInfo", 10)}}</p> + +<h2 id="Exemples">Exemples</h2> + +<p>Cet exemple écoute toutes les requêtes HTTPS à "mozilla.org" ou ses sous-domaines, et enregistre le nom de l'objet dans le certificat du serveur :</p> + +<pre class="brush: js">async function logSubject(details) { + try { + let securityInfo = await browser.webRequest.getSecurityInfo(details.requestId, {}); + console.log(details.url); + if (securityInfo.state === "secure" || securityInfo.state === "weak") { + console.log(securityInfo.certificates[0].subject); + } + } + catch(error) { + console.error(error); + } +} + +browser.webRequest.onHeadersReceived.addListener(logSubject, + {urls: ["https://*.mozilla.org/*"]}, + ["blocking"] +);</pre> + +<p>Cet exemple écoute toutes les requêtes HTTPS à "mozilla.org" ou ses sous-domaines, et enregistre le nom dans le certificat racine de confiance :</p> + +<pre class="brush: js">async function logRoot(details) { + try { + let securityInfo = await browser.webRequest.getSecurityInfo( + details.requestId, + {"certificateChain": true} + ); + console.log(details.url); + if (securityInfo.state === "secure" || securityInfo.state === "weak") { + console.log(securityInfo.certificates[securityInfo.certificates.length - 1].issuer); + } + } + catch(error) { + console.error(error); + } +} + +browser.webRequest.onHeadersReceived.addListener(logRoot, + {urls: ["https://*.mozilla.org/*"]}, + ["blocking"] +);</pre> + +<p>{{WebExtExamples}}</p> |