webRequest.SecurityInfo

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

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

类型

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

certificates

CertificateInfo 对象的 Array。如果调用 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 事件。因此,实际上此值永远不会设置为“broken”。

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 事件。因此,实际上此值永远不会设置为“broken”。

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”,表示协商的密码套件被认为是弱的。

浏览器兼容性