webRequest.SecurityInfo

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 webRequest.getSecurityInfo().

Si la requête n'est pas sécurisée par TLS, alors cet objet ne contiendra que l'état de la propriété state, dont la valeur sera "insecure".

Type

Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :

certificates
Array de CertificateInfo. Si webRequest.getSecurityInfo() a été appelé avec l'option certificateChain présente et définie sur true, cela contiendra un objet CertificateInfo pour chaque certificat de la chaîne, depuis le certificat du serveur jusqu'à et y compris la racine de confiance.
Sinon, il contiendra un seul objet CertificateInfo, pour le certificat du serveur.
certificateTransparencyStatus

String. Indique l'état de la transparence des certificats pour la connexion. Ceci peut prendre l'une des valeurs suivantes :

  • "not_applicable"
  • "policy_compliant"
  • "policy_not_enough_scts"
  • "policy_not_diverse_scts"
cipherSuite
String. Suite de chiffrement utilisée pour la connexion, formatée selon la specification TLS : par exemple, "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256".
errorMessage

String. 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 status will be "broken" and the errorMessage property will contain a string describing the error, taken from Firefox's internal list of error codes.

Note though that at present you can only call getSecurityInfo() in the onHeaderReceived listener, and the onHeaderReceived event is not fired when the handshake fails. So in practice this will never be set. 

hpkp
Boolean. true si l'hôte utilise Public Key Pinning, sinon false.
hsts
Boolean. true si l'hôte utilise Strict Transport Security, sinon false.
isDomainMismatch
Boolean. true si le nom de domaine du serveur ne correspond pas au nom de domaine dans son certificat, sinon false.
isExtendedValidation
Boolean. true si le serveur possède un Extended Validation Certificate, sinon false.
isNotValidAtThisTime
Boolean. true 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 false.
isUntrusted
Boolean. true si une chaîne de retour à un certificat racine de confiance n'a pas pu être construite, sinon false.
protocolVersion

String. Version du protocole TLS utilisé. L'un des :

  • "TLSv1"
  • "TLSv1.1"
  • "TLSv1.2"
  • "TLSv1.3"
  • "inconnu" (si la version n'est pas valide)
state

String. État de la connexion. L'un des :

  • "broken": la poignée de main TLS a échoué (par exemple, le certificat a expiré)
  • "insecure": la connexion n'est pas une connexion TLS
  • "secure": la connexion est une connexion TLS sécurisée
  • "weak": la connexion est une connexion TLS mais est considérée comme faible. Vous pouvez examiner les weaknessReasons pour découvrir le problème.

Notez cependant qu'actuellement, vous ne pouvez appele getSecurityInfo() que dans l'écouteur onHeaderReceived, et l'événement onHeaderReceived n'est pas déclenché lorsque la poignée de main échoue. Ainsi, dans la pratique, il ne sera jamais réglé sur "cassé".

weaknessReasons
String. Si l'état 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.

Compatibilité du navigateur

Update compatibility data on GitHub
OrdinateurMobile
ChromeEdgeFirefoxOperaFirefox pour Android
Support simpleChrome Aucun support NonEdge Aucun support NonFirefox Support complet 62Opera Aucun support NonFirefox Android Support complet 62

Légende

Support complet  
Support complet
Aucun support  
Aucun support

Étiquettes et contributeurs liés au document

Contributeurs à cette page : hellosct1
Dernière mise à jour par : hellosct1,