Index: extensions/common/api/web_request.json |
diff --git a/extensions/common/api/web_request.json b/extensions/common/api/web_request.json |
index 4e314eb6c07e49ffad370b43061cae3b4f3b8505..11e27c4ea020acf100dea7dba26fee87857071bb 100644 |
--- a/extensions/common/api/web_request.json |
+++ b/extensions/common/api/web_request.json |
@@ -150,6 +150,161 @@ |
} |
}, |
"description": "Contains data uploaded in a URL request." |
+ }, |
+ { |
+ "id": "SSLVersions", |
+ "type": "string", |
+ "enum": ["UNKNOWN", "SSL 2.0", "SSL 3.0", "TLS 1.0", "TLS 1.1", "TLS 1.2", "TLS 1.3", "QUIC"] |
+ }, |
+ { |
+ "id": "ValidationErrors", |
+ "type": "string", |
+ "enum": ["ERR_CERT_REVOKED", "ERR_CERT_INVALID", "ERR_SSL_PINNED_KEY_NOT_IN_CERT_CHAIN", "ERR_CERT_AUTHORITY_INVALID", "ERR_CERT_COMMON_NAME_INVALID", "ERR_CERT_NAME_CONSTRAINT_VIOLATION", "ERR_CERT_WEAK_SIGNATURE_ALGORITHM", "ERR_CERT_WEAK_KEY", "ERR_CERT_DATE_INVALID", "ERR_CERT_VALIDITY_TOO_LONG", "ERR_CERT_UNABLE_TO_CHECK_REVOCATION", "ERR_CERT_NO_REVOCATION_MECHANISM"] |
+ }, |
+ { |
+ "id": "DistinguishedName", |
+ "type": "object", |
+ "properties": { |
+ "commonName": { |
+ "type": "string", |
+ "optional": true, |
+ "description": "Subject Common Name." |
+ }, |
+ "localityName": { |
+ "type": "string", |
+ "optional": true, |
+ "description": "Subject Locality Name." |
+ }, |
+ "stateOrProvinceName": { |
+ "type": "string", |
+ "optional": true, |
+ "description": "Subject State or Province Name." |
+ }, |
+ "countryName": { |
+ "type": "string", |
+ "optional": true, |
+ "description": "Subject Country Name." |
+ }, |
+ "streetAddresses": { |
+ "type": "array", |
+ "items": { "type": "string" }, |
+ "optional": true, |
+ "description": "Subject Street Addresses." |
+ }, |
+ "organizationNames": { |
+ "type": "array", |
+ "items": { "type": "string" }, |
+ "optional": true, |
+ "description": "Subject Organization Names." |
+ }, |
+ "organizationUnitNames": { |
+ "type": "array", |
+ "items": { "type": "string" }, |
+ "optional": true, |
+ "description": "Subject Organization Unit." |
+ } |
+ } |
+ }, |
+ { |
+ "id": "Certificate", |
+ "type": "object", |
+ "properties": { |
+ "raw": { |
+ "type": "binary", |
+ "optional": true, |
+ "description": "ArrayBuffer containing the DER encoded certificate." |
+ }, |
+ "serialNumber": { |
+ "type": "string", |
+ "description": "The serial number of the certificate." |
+ }, |
+ "subject": { |
+ "$ref": "DistinguishedName", |
+ "description": "The subject of the certificate." |
+ }, |
+ "issuer": { |
+ "$ref": "DistinguishedName", |
+ "optional": true, |
+ "description": "The subject of the issuer certificate." |
+ }, |
+ "expired": { |
+ "type": "boolean", |
+ "description": "True if the certificate is expired." |
+ }, |
+ "notBefore": { |
+ "type": "number", |
+ "description": "notBefore time of the certificate." |
+ }, |
+ "notAfter": { |
+ "type": "number", |
+ "description": "notAfter time of the certificate." |
+ }, |
+ "dnsNames": { |
+ "type": "array", |
+ "items": { "type": "string" }, |
+ "optional": true, |
+ "description": "Array of DNS names contained in the certificate." |
+ }, |
+ "ipAddresses": { |
+ "type": "array", |
+ "items": { "type": "string" }, |
+ "optional": true, |
+ "description": "Array of IP Addresses contained in the certificate." |
+ } |
+ } |
+ }, |
+ { |
+ "id": "SSLInfo", |
+ "type": "object", |
+ "properties": { |
+ "cipherSuite": { |
+ "type": "string", |
+ "description" :"Name of cipher suite used." |
+ }, |
+ "sslVersion": { |
+ "$ref": "SSLVersions", |
+ "description": "The version of TLS used." |
+ }, |
+ "sentChain": { |
+ "type": "array", |
+ "optional": true, |
+ "description": "Array of Certificates that was sent by the server.", |
+ "items": { |
+ "$ref": "Certificate" |
+ } |
+ }, |
+ "builtChain": { |
+ "type": "object", |
+ "optional": true, |
+ "description": "An object containing information about the certificate chain that was built from the sent certificates.", |
+ "properties": { |
+ "valid": { |
+ "type": "boolean", |
+ "description": "True if built chain is valid." |
+ }, |
+ "issuedByKnownRoot": { |
+ "type": "boolean", |
+ "description": "True if the leaf certificate issued by known root." |
+ }, |
+ "extendedValidation": { |
+ "type": "boolean", |
+ "description": "True if the leaf certificate is EV." |
+ }, |
+ "error": { |
+ "$ref": "ValidationErrors", |
+ "description": "Validation error for the certificate chain.", |
+ "optional": true |
+ }, |
+ "chain": { |
+ "type": "array", |
+ "description": "Array of Certificates built from the sent chain.", |
+ "items": { |
+ "$ref": "Certificate" |
+ } |
+ } |
+ } |
+ } |
+ } |
} |
], |
"functions": [ |
@@ -525,7 +680,8 @@ |
"fromCache": {"type": "boolean", "description": "Indicates if this response was fetched from disk cache."}, |
"statusCode": {"type": "integer", "description": "Standard HTTP status code returned by the server."}, |
"responseHeaders": {"$ref": "HttpHeaders", "optional": true, "description": "The HTTP response headers that were received along with this response."}, |
- "statusLine": {"type": "string", "description": "HTTP status line of the response or the 'HTTP/0.9 200 OK' string for HTTP/0.9 responses (i.e., responses that lack a status line) or an empty string if there are no headers."} |
+ "statusLine": {"type": "string", "description": "HTTP status line of the response or the 'HTTP/0.9 200 OK' string for HTTP/0.9 responses (i.e., responses that lack a status line) or an empty string if there are no headers."}, |
+ "sslInfo": {"$ref": "SSLInfo", "optional": true, "description": "Optional information about the underlying SSL/TLS transport, if one was used."} |
} |
} |
], |