webRequest.SecurityInfo
一个描述特定 Web 请求的安全属性的对象。此类型的对象由 webRequest.getSecurityInfo()
API 返回。
如果请求未使用 TLS 保护,则此对象将仅包含属性 state
,其值为 "insecure"
。
类型
此类型的值为对象。它们包含以下属性
certificates
-
Array
ofCertificateInfo
。如果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 的浏览器中加载。