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
93
94
95
96
|
---
title: webRequest.SecurityInfo
slug: Mozilla/Add-ons/WebExtensions/API/webRequest/SecurityInfo
tags:
- API
- Add-ons
- Reference
- SecurityInfo
- Type
- WebExtensions
- webRequest
translation_of: Mozilla/Add-ons/WebExtensions/API/webRequest/SecurityInfo
---
<div>{{AddonSidebar()}}</div>
<p>Objet décrivant les propriétés de sécurité d'une requête Web particulière. Un objet de ce type est retourné depuis l'API {{WebExtAPIRef("webRequest.getSecurityInfo()")}}.</p>
<p>Si la requête n'est pas sécurisée par <a href="/fr/docs/Glossaire/TLS">TLS</a>, alors cet objet ne contiendra que l'état de la propriété <code>state</code>, dont la valeur sera <code>"insecure"</code>.</p>
<h2 id="Type">Type</h2>
<p>Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :</p>
<dl>
<dt><code>certificates</code></dt>
<dd><p><code>Array</code> de {{WebExtAPIRef("webRequest.CertificateInfo", "CertificateInfo")}}. Si {{WebExtAPIRef("webRequest.getSecurityInfo()")}} a été appelé avec l'option <code>certificateChain</code> présente et définie sur <code>true</code>, cela contiendra un objet <code>CertificateInfo</code> pour chaque certificat de la chaîne, depuis le certificat du serveur jusqu'à et y compris la racine de confiance.</p>
<p>Sinon, il contiendra un seul objet <code>CertificateInfo</code>, pour le certificat du serveur.</p></dd>
<dt><code>certificateTransparencyStatus</code> {{optional_inline}}</dt>
<dd>
<p><code>String</code>. Indique l'état de la <a href="https://www.certificate-transparency.org/">transparence des certificats</a> pour la connexion. Ceci peut prendre l'une des valeurs suivantes :</p>
<ul>
<li>"not_applicable"</li>
<li>"policy_compliant"</li>
<li>"policy_not_enough_scts"</li>
<li>"policy_not_diverse_scts"</li>
</ul>
</dd>
<dt><code>cipherSuite</code> {{optional_inline}}</dt>
<dd><code>String</code>. Suite de chiffrement utilisée pour la connexion, formatée selon la <a href="https://tools.ietf.org/html/rfc5246#appendix-A.5">specification TLS </a>: par exemple, "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256".</dd>
<dt><code>errorMessage</code> {{optional_inline}}</dt>
<dd>
<p><code>String</code>. S'il y a eu un problème avec le protocole TLS (for example, the certificate had expired, or a trusted root could not be found, or a certificate was revoked) then <code>status</code> will be "broken" and the <code>errorMessage</code> property will contain a string describing the error, taken from Firefox's internal list of error codes.</p>
<p>Note though that at present you can only call <code>getSecurityInfo()</code> in the <code>onHeaderReceived</code> listener, and the <code>onHeaderReceived</code> event is not fired when the handshake fails. So in practice this will never be set. </p>
</dd>
<dt><code>hpkp</code> {{optional_inline}}</dt>
<dd><code>Boolean</code>. <code>true</code> si l'hôte utilise <a href="/fr/docs/Web/Security/Public_Key_Pinning">Public Key Pinning</a>, sinon <code>false</code>.</dd>
<dt><code>hsts</code> {{optional_inline}}</dt>
<dd><code>Boolean</code>. <code>true</code> si l'hôte utilise <a href="/fr/docs/Sécurité/HTTP_Strict_Transport_Security">Strict Transport Security</a>, sinon <code>false</code>.</dd>
<dt><code>isDomainMismatch</code> {{optional_inline}}</dt>
<dd><code>Boolean</code>. <code>true</code> si le nom de domaine du serveur ne correspond pas au nom de domaine dans son certificat, sinon <code>false</code>.</dd>
<dt><code>isExtendedValidation</code> {{optional_inline}}</dt>
<dd><code>Boolean</code>. <code>true</code> si le serveur possède un <a href="https://en.wikipedia.org/wiki/Extended_Validation_Certificate">Extended Validation Certificate</a>, sinon <code>false</code>.</dd>
<dt><code>isNotValidAtThisTime</code> {{optional_inline}}</dt>
<dd><code>Boolean</code>. <code>true</code> si l'heure actuelle tombe en dehors de la période de validité du certificat de serveur (c'est-à-dire que le certificat a expiré ou n'est pas encore valide), sinon <code>false</code>.</dd>
<dt><code>isUntrusted</code> {{optional_inline}}</dt>
<dd><code>Boolean</code>. <code>true</code> si une chaîne de retour à un certificat racine de confiance n'a pas pu être construite, sinon <code>false</code>.</dd>
<dt><code>keaGroupName</code> {{optional_inline}}</dt>
<dd><code>String</code>. Si <code>state</code> est "sécurisé" cela décrit l'algorithme d'échange de clé utilisé dans cette requête.</dd>
<dt><code>protocolVersion</code> {{optional_inline}}</dt>
<dd>
<p><code>String</code>. Version du protocole TLS utilisé. L'un des :</p>
<ul>
<li>"TLSv1"</li>
<li>"TLSv1.1"</li>
<li>"TLSv1.2"</li>
<li>"TLSv1.3"</li>
<li>"inconnu" (si la version n'est pas valide)</li>
</ul>
</dd>
<dt><code>signatureSchemeName</code> {{optional_inline}}</dt>
<dd><code>String</code>. Si <code>state</code> est "sécurisé", cela décrit le schéma de signature utilisé dans cette requête.t.</dd>
<dt><code>state</code></dt>
<dd>
<p><code>String</code>. État de la connexion. L'un des :</p>
<ul>
<li>"broken": la poignée de main TLS a échoué (par exemple, le certificat a expiré)</li>
<li>"insecure": la connexion n'est pas une connexion TLS</li>
<li>"secure": la connexion est une connexion TLS sécurisée</li>
<li>"weak": la connexion est une connexion TLS mais est considérée comme faible. Vous pouvez examiner les <code>weaknessReasons</code> pour découvrir le problème.</li>
</ul>
<p>Notez cependant qu'actuellement, vous ne pouvez appele <code>getSecurityInfo()</code> que dans l'écouteur <code>onHeaderReceived</code>, et l'événement <code>onHeaderReceived</code> n'est pas déclenché lorsque la poignée de main échoue. Ainsi, dans la pratique, il ne sera jamais réglé sur "cassé".</p>
</dd>
<dt><code>weaknessReasons</code> {{optional_inline}}</dt>
<dd><code>String</code>. Si l'<code>état</code> est "faible", cela indique la raison. Actuellement, il ne peut contenir qu'une seule valeur "chiffre", ce qui indique que la suite de chiffres négociée est considérée comme faible.</dd>
</dl>
<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>
<p>{{Compat("webextensions.api.webRequest.SecurityInfo", 10)}}</p>
<p>{{WebExtExamples}}</p>
|