webRequest.SecurityInfo
Ein Objekt, das die Sicherheitsmerkmale einer bestimmten Webanforderung beschreibt. Ein Objekt dieses Typs wird von der webRequest.getSecurityInfo()
API zurückgegeben.
Wenn die Anfrage nicht mit TLS gesichert ist, enthält dieses Objekt nur die Eigenschaft state
, deren Wert "insecure"
ist.
Typ
Werte dieses Typs sind Objekte. Sie enthalten die folgenden Eigenschaften:
certificates
-
Array
vonCertificateInfo
. WennwebRequest.getSecurityInfo()
mit der OptioncertificateChain
aufgerufen wurde, die auftrue
gesetzt ist, enthält dies einCertificateInfo
-Objekt für jedes Zertifikat in der Kette, vom Serverzertifikat bis hin zur Vertrauenswurzel.Andernfalls enthält es ein einzelnes
CertificateInfo
-Objekt für das Serverzertifikat. certificateTransparencyStatus
Optional-
String
. Zeigt den Certificate Transparency-Status für die Verbindung an. Dies kann einen der folgenden Werte annehmen:- "not_applicable"
- "policy_compliant"
- "policy_not_enough_scts"
- "policy_not_diverse_scts"
cipherSuite
Optional-
String
. Die Verschlüsselungssuite, die für die Verbindung verwendet wird, formatiert gemäß der TLS-Spezifikation: zum Beispiel "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256". errorMessage
Optional-
String
. Wenn es ein Problem mit dem TLS-Handshake gab (zum Beispiel ist das Zertifikat abgelaufen, es konnte keine vertrauenswürdige Wurzel gefunden werden oder ein Zertifikat wurde widerrufen), dann wirdstatus
"broken" sein und dieerrorMessage
-Eigenschaft enthält eine Beschreibung des Fehlers, entnommen aus der internen Fehlercodeliste von Firefox.Beachten Sie jedoch, dass Sie derzeit
getSecurityInfo()
nur imonHeaderReceived
-Listener aufrufen können und dasonHeaderReceived
-Ereignis nicht ausgelöst wird, wenn der Handshake fehlschlägt. Daher wird dies in der Praxis nie gesetzt. hsts
Optional-
Boolean
.true
, wenn der Host Strict Transport Security verwendet, andernfallsfalse
. isDomainMismatch
Optional-
Boolean
.true
, wenn der Domainname des Servers nicht mit dem Domainnamen in seinem Zertifikat übereinstimmt, andernfallsfalse
. isExtendedValidation
Optional-
Boolean
.true
, wenn der Server ein Extended Validation Certificate besitzt, andernfallsfalse
. isNotValidAtThisTime
Optional-
Boolean
.true
, wenn die aktuelle Zeit außerhalb des Gültigkeitszeitraums des Serverzertifikats liegt (d.h. das Zertifikat ist abgelaufen oder noch nicht gültig), andernfallsfalse
. isUntrusted
Optional-
Boolean
.true
, wenn eine Kette zurück zu einem vertrauenswürdigen Wurzelzertifikat nicht erstellt werden konnte, andernfallsfalse
. keaGroupName
Optional-
String
. Wennstate
"secure" ist, beschreibt dies den Schlüsselaustauschalgorithmus, der in dieser Anfrage verwendet wurde. protocolVersion
Optional-
String
. Die Version des verwendeten TLS-Protokolls. Einer der folgenden Werte:- "TLSv1"
- "TLSv1.1"
- "TLSv1.2"
- "TLSv1.3"
- "unknown" (falls die Version nicht gültig ist)
secretKeyLength
Optional-
Number
. Die Länge des geheimen Schlüssels in Bits. signatureSchemeName
Optional-
String
. Wennstate
"secure" ist, beschreibt dies das Signaturschema, das in dieser Anfrage verwendet wurde. state
-
String
. Der Status der Verbindung. Einer der folgenden Werte:- "broken": der TLS-Handshake ist fehlgeschlagen (zum Beispiel ist das Zertifikat abgelaufen)
- "insecure": die Verbindung ist keine TLS-Verbindung
- "secure": die Verbindung ist eine sichere TLS-Verbindung
- "weak": die Verbindung ist eine TLS-Verbindung, wird aber als schwach angesehen. Sie können
weaknessReasons
untersuchen, um das Problem zu identifizieren.
Beachten Sie jedoch, dass Sie derzeit
getSecurityInfo()
nur imonHeaderReceived
-Listener aufrufen können und dasonHeaderReceived
-Ereignis nicht ausgelöst wird, wenn der Handshake fehlschlägt. In der Praxis wird dieser Wert also nie auf "broke" gesetzt sein. usedDelegatedCredentials
Optional-
Boolean
.true
, wenn die Verbindung Delegated Credentials verwendet hat, andernfallsfalse
. usedEch
Optional-
Boolean
.true
, wenn die Verbindung ECH (Encrypted Client Hello) verwendet hat, andernfallsfalse
. usedOcsp
Optional-
Boolean
.true
, wenn die Verbindung eine OCSP (Online Certificate Status Protocol)-Anfrage gestellt hat, andernfallsfalse
. usedPrivateDns
Optional-
Boolean
.true
, wenn die Verbindung ein privates DNS-Lookup durchgeführt hat, z.B. mit DoH (DNS über HTTPS), andernfallsfalse
. weaknessReasons
Optional-
String
. Wennstate
"weak" ist, gibt dies den Grund an. Derzeit kann dies nur den Wert "cipher" enthalten, was darauf hinweist, dass die ausgehandelte Verschlüsselungssuite als schwach gilt.