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-
ArrayvonCertificateInfo. WennwebRequest.getSecurityInfo()mit der OptioncertificateChainaufgerufen wurde und diese auftruegesetzt 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. certificateTransparencyStatusOptional-
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"
cipherSuiteOptional-
String. Die für die Verbindung verwendete Verschlüsselungssuite, formatiert gemäß der TLS-Spezifikation: zum Beispiel "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256". errorMessageOptional-
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 wirdstatusauf "broken" gesetzt und die EigenschafterrorMessageenthä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 imonHeaderReceivedListener aufrufen können und dasonHeaderReceivedEreignis nicht ausgelöst wird, wenn der Handshake fehlschlägt. In der Praxis wird dies also niemals gesetzt. hstsOptional-
Boolean.true, wenn der Host Strict Transport Security verwendet,falseandernfalls. isDomainMismatchOptional-
Boolean.true, wenn der Domain-Name des Servers nicht mit dem Domain-Namen im Zertifikat übereinstimmt,falseandernfalls. isExtendedValidationOptional-
Boolean.true, wenn der Server ein Extended Validation Certificate besitzt,falseandernfalls. isNotValidAtThisTimeOptional-
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),falseandernfalls. isUntrustedOptional-
Boolean.true, wenn eine Kette zu einem vertrauenswürdigen Wurzelzertifikat nicht konstruiert werden konnte,falseandernfalls. keaGroupNameOptional-
String. Wennstate"secure" ist, beschreibt dies den Key-Exchange-Algorithmus, der in dieser Anforderung verwendet wird. protocolVersionOptional-
String. Version des verwendeten TLS-Protokolls. Einer von:- "TLSv1"
- "TLSv1.1"
- "TLSv1.2"
- "TLSv1.3"
- "unknown" (wenn die Version nicht gültig ist)
secretKeyLengthOptional-
Number. Die Länge des geheimen Schlüssels in Bits. signatureSchemeNameOptional-
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
weaknessReasonsuntersuchen, um das Problem herauszufinden.
Beachten Sie jedoch, dass Sie derzeit
getSecurityInfo()nur imonHeaderReceivedListener aufrufen können und dasonHeaderReceivedEreignis nicht ausgelöst wird, wenn der Handshake fehlschlägt. In der Praxis wird dies also niemals auf "broken" gesetzt. usedDelegatedCredentialsOptional-
Boolean.true, wenn die Verbindung Delegated Credentials verwendet hat,falseandernfalls. usedEchOptional-
Boolean.true, wenn die Verbindung ECH (Encrypted Client Hello) verwendet hat,falseandernfalls. usedOcspOptional-
Boolean.true, wenn die Verbindung eine OCSP (Online Certificate Status Protocol)-Anfrage gestellt hat,falseandernfalls. usedPrivateDnsOptional-
Boolean.true, wenn die Verbindung eine private DNS-Abfrage gemacht hat, wie z. B. mit DoH (DNS über HTTPS),falseandernfalls. weaknessReasonsOptional-
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.
Browser-Kompatibilität
Loading…