webRequest.SecurityInfo 编辑
An object describing the security properties of a particular web request. An object of this type is returned from the webRequest.getSecurityInfo()
API.
If the request is not secured using TLS, then this object will contain only the property state
, whose value will be "insecure"
.
Type
Values of this type are objects. They contain the following properties:
certificates
Array
ofCertificateInfo
. IfwebRequest.getSecurityInfo()
was called with thecertificateChain
option present and set totrue
, this will contain aCertificateInfo
object for every certificate in the chain, from the server certificate up to and including the trust root.- Otherwise it will contain a single
CertificateInfo
object, for the server certificate. certificateTransparencyStatus
OptionalString
. Indicates the Certificate Transparency status for the connection. This may take any one of the following values:- "not_applicable"
- "policy_compliant"
- "policy_not_enough_scts"
- "policy_not_diverse_scts"
cipherSuite
OptionalString
. Cipher suite used for the connection, formatted as per the TLS specification: for example, "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256".errorMessage
OptionalString
. If there was a problem with the TLS handshake (for example, the certificate had expired, or a trusted root could not be found, or a certificate was revoked) thenstatus
will be "broken" and theerrorMessage
property will contain a string describing the error, taken from Firefox's internal list of error codes.Note though that at present you can only call
getSecurityInfo()
in theonHeaderReceived
listener, and theonHeaderReceived
event is not fired when the handshake fails. So in practice this will never be set.hpkp
OptionalBoolean
.true
if the host uses Public Key Pinning,false
otherwise.hsts
OptionalBoolean
.true
if the host uses Strict Transport Security,false
otherwise.isDomainMismatch
OptionalBoolean
.true
if the server's domain name does not match the domain name in its certificate,false
otherwise.isExtendedValidation
OptionalBoolean
.true
if the server has an Extended Validation Certificate,false
otherwise.isNotValidAtThisTime
OptionalBoolean
.true
if the current time falls outside the server certificate's validity period (i.e. the certificate has expired or is not yet valid),false
otherwise.isUntrusted
OptionalBoolean
.true
if a chain back to a trusted root certificate could not be constructed,false
otherwise.keaGroupName
OptionalString
. Ifstate
is "secure" this describes the key exchange algorithm used in this request.protocolVersion
OptionalString
. Version of the TLS protocol used. One of:- "TLSv1"
- "TLSv1.1"
- "TLSv1.2"
- "TLSv1.3"
- "unknown" (if the version is not valid)
signatureSchemeName
OptionalString
. Ifstate
is "secure" this describes the signature scheme used in this request.state
String
. State of the connection. One of:- "broken": the TLS handshake failed (for example, the certificate had expired)
- "insecure": the connection is not a TLS connection
- "secure": the connection is a secure TLS connection
- "weak": the connection is a TLS connection but is considered weak. You can examine
weaknessReasons
to find out the problem.
Note though that at present you can only call
getSecurityInfo()
in theonHeaderReceived
listener, and theonHeaderReceived
event is not fired when the handshake fails. So in practice this will never be set to "broke".weaknessReasons
OptionalString
. Ifstate
is "weak", this indicates the reason. Currently this may contain only a single value "cipher", indicating that the negotiated cipher suite is considered weak.
Browser compatibility
BCD tables only load in the browser
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论