webRequest.SecurityInfo
Объект, описывающий свойства безопасности конкретного веб-запроса. Объект этого типа возвращается API webRequest.getSecurityInfo().
Если запрос не защищён с помощью TLS, то этот объект будет содержать только свойство state, значение которого будет "insecure".
Тип
Значения этого типа — объекты. Они содержат следующие свойства:
certificates-
ArrayCertificateInfo. ЕслиwebRequest.getSecurityInfo()был вызван с опциейcertificateChainи значениемtrue, это будет содержать объектCertificateInfoдля каждого сертификата в цепочке, от сертификата сервера до корневого сертификата доверия включительно.В противном случае это будет содержать один объект
CertificateInfoдля сертификата сервера. -
certificateTransparencyStatusНеобязательно -
String. Указывает статус Прозрачности сертификатов для подключения. Может принимать одно из следующих значений:- "not_applicable"
- "policy_compliant"
- "policy_not_enough_scts"
- "policy_not_diverse_scts"
-
cipherSuiteНеобязательно -
String. Используемый набор шифров для подключения, отформатированный в соответствии со спецификацией TLS, например, "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256". -
errorMessageНеобязательно -
String. Если возникла проблема с рукопожатием TLS (например, сертификат истек или не был найден доверенный корень, или сертификат был отозван), тоstatusбудет "broken", а свойствоerrorMessageбудет содержать строку, описывающую ошибку, взятую из внутреннего списка кодов ошибок Firefox.Однако, в настоящее время вы можете вызвать
getSecurityInfo()только в обработчикеonHeaderReceived, и событиеonHeaderReceivedне генерируется при сбое рукопожатия. Поэтому на практике это значение никогда не будет установлено. -
hstsНеобязательно -
Boolean.trueесли хост использует Strict Transport Security,falseв противном случае. -
isDomainMismatchНеобязательно -
Boolean.trueесли имя домена сервера не соответствует имени домена в его сертификате,falseв противном случае. -
isExtendedValidationНеобязательно -
Boolean.trueесли сервер имеет расширенный сертификат проверки,falseв противном случае. -
isNotValidAtThisTimeНеобязательно -
Boolean.trueесли текущее время находится за пределами срока действия сертификата сервера (т.е. сертификат истек или ещё не действителен),falseв противном случае. -
isUntrustedНеобязательно -
Boolean.trueесли цепочка до корневого сертификата доверия не могла быть построена,falseв противном случае. -
keaGroupNameНеобязательно -
String. Еслиstateравно "secure", это описывает алгоритм обмена ключами, используемый в этом запросе. -
protocolVersionНеобязательно -
String. Версия протокола TLS. Одно из следующих значений:- "TLSv1"
- "TLSv1.1"
- "TLSv1.2"
- "TLSv1.3"
- "unknown" (если версия недействительна)
-
secretKeyLengthНеобязательно -
Number. Длина секретного ключа в битах. -
signatureSchemeNameНеобязательно -
String. Еслиstateравно "secure", это описывает схему цифровой подписи, используемую в этом запросе. state-
String. Состояние соединения. Одно из следующих значений:- "broken": рукопожатие TLS завершилось неудачно (например, сертификат истек)
- "insecure": соединение не является TLS-соединением
- "secure": соединение является защищённым TLS-соединением
- "weak": соединение является TLS-соединением, но считается слабым. Вы можете проверить
weaknessReasonsдля выяснения проблемы.
Однако, в настоящее время вы можете вызвать
getSecurityInfo()только в обработчикеonHeaderReceived, и событиеonHeaderReceivedне генерируется при сбое рукопожатия. Поэтому на практике это значение никогда не будет установлено в "broken". -
usedDelegatedCredentialsНеобязательно -
Boolean.trueесли соединение использовало делегированные учётные данные,falseв противном случае. -
usedEchНеобязательно -
Boolean.trueесли соединение использовало ECH (Зашифрованный приветствие клиента),falseв противном случае. -
usedOcspНеобязательно -
Boolean.trueесли соединение выполнило запрос OCSP (Протокол онлайн-статуса сертификата),falseв противном случае. -
usedPrivateDnsНеобязательно -
Boolean.trueесли соединение выполнило частный DNS-запрос, такой как DoH (DNS по HTTPS),falseв противном случае. -
weaknessReasonsНеобязательно -
String. Еслиstateравно "weak", это указывает причину. В настоящее время это может содержать только одно значение "cipher", указывающее, что согласованный набор шифров считается слабым.
Совместимость с браузерами
| Рабочий стол | Мобильный | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox для Android | Opera Android | Safari на IOS | Samsung Internet | |
SecurityInfo |
Нет | Нет | 62 | ? | Нет | Нет | ? | ? | 62 | ? | Нет | ? |
certificateTransparencyStatus |
Нет | Нет | 62 | ? | Нет | Нет | ? | ? | 62 | ? | Нет | ? |
certificates |
Нет | Нет | 62 | ? | Нет | Нет | ? | ? | 62 | ? | Нет | ? |
cipherSuite |
Нет | Нет | 62 | ? | Нет | Нет | ? | ? | 62 | ? | Нет | ? |
errorMessage |
Нет | Нет | 62 | ? | Нет | Нет | ? | ? | 62 | ? | Нет | ? |
hsts |
Нет | Нет | 62 | ? | Нет | Нет | ? | ? | 62 | ? | Нет | ? |
isDomainMismatch |
Нет | Нет | 62 | ? | Нет | Нет | ? | ? | 62 | ? | Нет | ? |
isExtendedValidation |
Нет | Нет | 62 | ? | Нет | Нет | ? | ? | 62 | ? | Нет | ? |
isNotValidAtThisTime |
Нет | Нет | 62 | ? | Нет | Нет | ? | ? | 62 | ? | Нет | ? |
isUntrusted |
Нет | Нет | 62 | ? | Нет | Нет | ? | ? | 62 | ? | Нет | ? |
keaGroupName |
Нет | Нет | 62 | ? | Нет | Нет | ? | ? | 62 | ? | Нет | ? |
protocolVersion |
Нет | Нет | 62 | ? | Нет | Нет | ? | ? | 62 | ? | Нет | ? |
secretKeyLength |
Нет | Нет | 109 | ? | Нет | Нет | ? | ? | 109 | ? | Нет | ? |
signatureSchemeName |
Нет | Нет | 62 | ? | Нет | Нет | ? | ? | 62 | ? | Нет | ? |
state |
Нет | Нет | 62 | ? | Нет | Нет | ? | ? | 62 | ? | Нет | ? |
usedDelegatedCredentials |
Нет | Нет | 112 | ? | Нет | Нет | ? | ? | 112 | ? | Нет | ? |
usedEch |
Нет | Нет | 112 | ? | Нет | Нет | ? | ? | 112 | ? | Нет | ? |
usedOcsp |
Нет | Нет | 112 | ? | Нет | Нет | ? | ? | 112 | ? | Нет | ? |
usedPrivateDns |
Нет | Нет | 112 | ? | Нет | Нет | ? | ? | 112 | ? | Нет | ? |
weaknessReasons |
Нет | Нет | 62 | ? | Нет | Нет | ? | ? | 62 | ? | Нет | ? |
© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/SecurityInfo