webRequest.SecurityInfo

一个描述特定 Web 请求的安全属性的对象。此类型的对象由 webRequest.getSecurityInfo() API 返回。

如果请求未使用 TLS 保护,则此对象将仅包含属性 state,其值为 "insecure"

类型

此类型的值为对象。它们包含以下属性

certificates

Array of 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 的内部错误代码列表。

但请注意,目前您只能在 onHeaderReceived 监听器中调用 getSecurityInfo(),并且当握手失败时不会触发 onHeaderReceived 事件。因此,在实践中,这将永远不会设置。

hsts 可选

Boolean。如果主机使用 严格传输安全,则为 true,否则为 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 以找出问题所在。

但请注意,目前您只能在 onHeaderReceived 监听器中调用 getSecurityInfo(),并且当握手失败时不会触发 onHeaderReceived 事件。因此,在实践中,这将永远不会设置为“broke”。

usedDelegatedCredentials 可选

Boolean。如果连接使用了委托凭据,则为 true,否则为 false

usedEch 可选

Boolean。如果连接使用了 ECH(加密客户端 Hello),则为 true,否则为 false

usedOcsp 可选

Boolean。如果连接发起了 OCSP(在线证书状态协议)请求,则为 true,否则为 false

usedPrivateDns 可选

Boolean。如果连接进行了私有 DNS 查找,例如使用 DoH(通过 HTTPS 的 DNS),则为 true,否则为 false

weaknessReasons 可选

String。如果 state 为“weak”,则指示原因。目前,这可能只包含一个值“cipher”,表示协商的密码套件被认为是弱的。

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。