webRequest.SecurityInfo
描述特定 Web 请求安全属性的对象。此类型的对象由 webRequest.getSecurityInfo()
API 返回。
如果请求未使用 TLS 加密,则此对象将只包含取值为 "insecure"
的 state
属性。
类型
此类型的值是对象,包含以下属性:
certificates
-
CertificateInfo
的数组(Array
)。如果调用webRequest.getSecurityInfo()
时传入了值为true
的certificateChain
选项,则此数组将包含证书链中所有证书(从服务器证书到信任根证书)的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
事件。因此在现实中该属性将不会被设置。 usedDelegatedCredentials
可选-
Boolean
。如果连接使用了委托凭据则为true
,否则为false
。 usedEch
可选-
Boolean
。如果连接使用了加密客户端问候(ECH)则为true
,否则为false
。 usedOcsp
可选-
Boolean
。如果连接发起了在线证书状态协议(OCSP)请求则为true
,否则为false
。 usedPrivateDns
可选-
Boolean
。如果连接进行了私有 DNS(如 DoH(DNS over HTTPS))查询则为true
,否则为false
。 weaknessReasons
可选-
String
。如果state
为“weak”,则指示原因。现在该属性只可能为“cipher”,指示协商的密码套件被认为是弱的。