webRequest.SecurityInfo

Cette traduction est en cours.

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 if the host uses Public Key Pinning, false otherwise.
hsts
Boolean. true if the host uses Strict Transport Security, false otherwise.
isDomainMismatch
Boolean. true if the server's domain name does not match the domain name in its certificate, false otherwise.
isExtendedValidation
Boolean. true if the server has an Extended Validation Certificate, false otherwise.
isNotValidAtThisTime
Boolean. true if the current time falls outside the server certificate's validity period (i.e. the certificate has expired or is not yet valid), false otherwise.
isUntrusted
Boolean. true if a chain back to a trusted root certificate could not be constructed, false otherwise.
protocolVersion

String. Version of the TLS protocol used. One of:

  • "TLSv1"
  • "TLSv1.1"
  • "TLSv1.2"
  • "TLSv1.3"
  • "unknown" (if the version is not valid)
state

String. State of the connection. One of:

  • "broken": the TLS handshake failed (for example, the certificate had expired)
  • "insecure": the connection is not a TLS connection
  • "secure": the connection is a secure TLS connection
  • "weak": the connection is a TLS connection but is considered weak. You can examine weaknessReasons to find out the problem.

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 to "broke".

weaknessReasons
String. If state is "weak", this indicates the reason. Currently this may contain only a single value "cipher", indicating that the negotiated cipher suite is considered weak.

Compatibilité du navigateur

ChromeEdgeFirefoxFirefox for AndroidOpera
Support simple Non Non6262 Non

Étiquettes et contributeurs liés au document

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