Spec-Zone.ru › Web Extensions

webRequest.SecurityInfo

Объект, описывающий свойства безопасности конкретного веб-запроса. Объект этого типа возвращается API webRequest.getSecurityInfo().

Если запрос не защищён с помощью TLS, то этот объект будет содержать только свойство state, значение которого будет "insecure".

Тип

Значения этого типа — объекты. Они содержат следующие свойства:

certificates

Array CertificateInfo. Если 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API