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 Anforderung nicht unter Verwendung von 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 und diese auftrue
gesetzt ist, enthält dies einCertificateInfo
-Objekt für jedes Zertifikat in der Kette, vom Serverzertifikat bis hin zur Vertrauenswurzel.Ansonsten enthält es ein einzelnes
CertificateInfo
-Objekt für das Serverzertifikat. certificateTransparencyStatus
Optional-
String
. Gibt 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 für die Verbindung verwendete Verschlüsselungssuite, 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, wenn das Zertifikat abgelaufen ist oder keine vertrauenswürdige Wurzel gefunden werden konnte oder ein Zertifikat widerrufen wurde), dann wirdstatus
auf "broken" gesetzt und die EigenschafterrorMessage
enthält eine Zeichenkette, die den Fehler beschreibt und aus der internen Fehlercodes-Liste von Firefox entnommen wird.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,false
andernfalls. isDomainMismatch
Optional-
Boolean
.true
, wenn der Domain-Name des Servers nicht mit dem Domain-Namen im Zertifikat übereinstimmt,false
andernfalls. isExtendedValidation
Optional-
Boolean
.true
, wenn der Server ein Extended Validation Certificate besitzt,false
andernfalls. 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),false
andernfalls. isUntrusted
Optional-
Boolean
.true
, wenn eine Kette zu einem vertrauenswürdigen Wurzelzertifikat nicht konstruiert werden konnte,false
andernfalls. keaGroupName
Optional-
String
. Wennstate
"secure" ist, beschreibt dies den Key-Exchange-Algorithmus, der in dieser Anforderung verwendet wird. protocolVersion
Optional-
String
. Version des verwendeten TLS-Protokolls. Einer von:- "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 Signaturschema, das in dieser Anforderung verwendet wird. state
-
String
. Zustand der Verbindung. Einer von:- "broken": Der TLS-Handshake ist fehlgeschlagen (zum Beispiel, das Zertifikat ist abgelaufen).
- "insecure": Die Verbindung ist keine TLS-Verbindung.
- "secure": Die Verbindung ist eine sichere TLS-Verbindung.
- "weak": Die Verbindung ist eine TLS-Verbindung, wird jedoch als schwach angesehen. 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 Delegated Credentials verwendet hat,false
andernfalls. usedEch
Optional-
Boolean
.true
, wenn die Verbindung ECH (Encrypted Client Hello) verwendet hat,false
andernfalls. usedOcsp
Optional-
Boolean
.true
, wenn die Verbindung eine OCSP (Online Certificate Status Protocol)-Anfrage gestellt hat,false
andernfalls. usedPrivateDns
Optional-
Boolean
.true
, wenn die Verbindung eine private DNS-Abfrage gemacht hat, wie z. B. mit DoH (DNS über HTTPS),false
andernfalls. weaknessReasons
Optional-
String
. Wennstate
"weak" ist, gibt dies den Grund an. Derzeit kann dies nur einen einzigen Wert "cipher" enthalten, was darauf hinweist, dass die ausgehandelte Verschlüsselungssuite als schwach angesehen wird.