webRequest.SecurityInfo
Ein Objekt, das die Sicherheitsmerkmale einer bestimmten Webanfrage beschreibt. Ein Objekt dieses Typs wird von der API webRequest.getSecurityInfo()
zurückgegeben.
Wenn die Anfrage nicht mithilfe von TLS gesichert ist, enthält dieses Objekt nur die Eigenschaft state
, deren Wert "insecure"
sein wird.
Typ
Werte dieses Typs sind Objekte. Sie enthalten die folgenden Eigenschaften:
certificates
-
Array
vonCertificateInfo
. WennwebRequest.getSecurityInfo()
mit der OptioncertificateChain
aufgerufen wurde und diese auftrue
gesetzt ist, wird dies einCertificateInfo
-Objekt für jedes Zertifikat in der Kette enthalten, vom Serverzertifikat bis einschließlich des Vertrauensankers.Andernfalls enthält es ein einzelnes
CertificateInfo
-Objekt für das Serverzertifikat. certificateTransparencyStatus
Optional-
String
. Gibt den Status der Certificate Transparency für die Verbindung an. Dies kann einen der folgenden Werte haben:- "not_applicable"
- "policy_compliant"
- "policy_not_enough_scts"
- "policy_not_diverse_scts"
cipherSuite
Optional-
String
. Cipher Suite, 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, das Zertifikat war abgelaufen, oder ein vertrauenswürdiger Root konnte nicht gefunden werden, oder ein Zertifikat wurde widerrufen), dann wirdstatus
"broken" sein und dieerrorMessage
-Eigenschaft wird eine Zeichenkette enthalten, die den Fehler beschreibt, entnommen aus Firefox' interner Liste von Fehlercodes.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 dies also niemals gesetzt. hsts
Optional-
Boolean
.true
, wenn der Host Strict Transport Security verwendet, andernfallsfalse
. isDomainMismatch
Optional-
Boolean
.true
, wenn der Domänenname des Servers nicht mit dem Domänennamen in seinem Zertifikat übereinstimmt, andernfallsfalse
. isExtendedValidation
Optional-
Boolean
.true
, wenn der Server ein Extended Validation Certificate hat, andernfallsfalse
. isNotValidAtThisTime
Optional-
Boolean
.true
, wenn die aktuelle Zeit außerhalb der Gültigkeitsspanne des Serverzertifikats liegt (d.h. das Zertifikat ist abgelaufen oder noch nicht gültig), andernfallsfalse
. isUntrusted
Optional-
Boolean
.true
, wenn keine Kette zu einem vertrauenswürdigen Root-Zertifikat aufgebaut werden konnte, andernfallsfalse
. keaGroupName
Optional-
String
. Wennstate
"secure" ist, beschreibt dies den beim Anforderung verwendeten Schlüsselaustauschalgorithmus. protocolVersion
Optional-
String
. Version des verwendeten TLS-Protokolls. Eine der folgenden:- "TLSv1"
- "TLSv1.1"
- "TLSv1.2"
- "TLSv1.3"
- "unknown" (wenn 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 beim Anforderung verwendete Signaturschema. state
-
String
. Zustand der Verbindung. Eine der folgenden:- "broken": der TLS-Handshake ist fehlgeschlagen (zum Beispiel, das Zertifikat war 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 betrachtet. Sie können
weaknessReasons
untersuchen, um das Problem herauszufinden.
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 dies also niemals auf "broken" gesetzt. usedDelegatedCredentials
Optional-
Boolean
.true
, wenn die Verbindung delegierte Anmeldeinformationen 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-Anfrage (Online Certificate Status Protocol) ausgeführt hat, andernfallsfalse
. usedPrivateDns
Optional-
Boolean
.true
, wenn die Verbindung eine private DNS-Anfrage durchgeführt hat, wie bei DoH (DNS über HTTPS), andernfallsfalse
. weaknessReasons
Optional-
String
. Wennstate
"weak" ist, zeigt dies den Grund an. Derzeit kann dies nur den einzigen Wert "cipher" enthalten, der anzeigt, dass die ausgehandelte Cipher Suite als schwach betrachtet wird.