ssllabs.data package#
Submodules#
ssllabs.data.caa_policy module#
CAA Policy.
- class ssllabs.data.caa_policy.CaaPolicyData(policyHostname: str, caaRecords: List[CaaRecordData])#
Bases:
object
Dataclass for CAA Policy objects.
See also: ssllabs/ssllabs-scan
- caaRecords: List[CaaRecordData]#
List of supported CAARecord
ssllabs.data.caa_record module#
CAA Record.
ssllabs.data.cert module#
Cert.
- class ssllabs.data.cert.CertData(id: str, subject: str, serialNumber: str, commonNames: List[str], altNames: List[str] | None, notBefore: int, notAfter: int, issuerSubject: str, sigAlg: str, revocationInfo: int, crlURIs: List[str] | None, ocspURIs: List[str] | None, revocationStatus: int, crlRevocationStatus: int, ocspRevocationStatus: int, dnsCaa: bool | None, caaPolicy: CaaPolicyData | None, mustStaple: bool, sgc: int, validationType: str | None, issues: int | None, sct: bool, sha1Hash: str, sha256Hash: str, pinSha256: str, keyAlg: str, keySize: int, keyStrength: int, keyKnownDebianInsecure: bool | None, raw: str)#
Bases:
object
Dataclass for Cert objects.
See also: ssllabs/ssllabs-scan
- caaPolicy: CaaPolicyData | None#
CAA Policy, Null if CAA is not supported
ssllabs.data.certificate_chain module#
Certificate Chain.
- class ssllabs.data.certificate_chain.CertificateChainData(id: str, certIds: List[str], trustPaths: List[TrustPathData], issues: int, noSni: bool)#
Bases:
object
Dataclass for certificate chain objects.
See also: ssllabs/ssllabs-scan
- certIds: List[str]#
List of IDs of each certificate, representing the chain certificates in the order in which they were retrieved from the server
- trustPaths: List[TrustPathData]#
Trust path object
ssllabs.data.drown_hosts module#
Drown Hosts.
ssllabs.data.endpoint module#
Endpoint.
- class ssllabs.data.endpoint.EndpointData(ipAddress: str, serverName: str | None, statusMessage: str, statusDetails: str | None, statusDetailsMessage: str | None, grade: str | None, gradeTrustIgnored: str | None, futureGrade: str | None, hasWarnings: bool | None, isExceptional: bool | None, progress: int | None, duration: int | None, eta: int | None, delegation: int, details: EndpointDetailsData | None)#
Bases:
object
Dataclass for endpoint objects.
See also: ssllabs/ssllabs-scan
- details: EndpointDetailsData | None#
This field contains an EndpointDetails object. It’s not present by default, but can be enabled by using the “all” parameter to the analyze API call.
- futureGrade: str | None#
Next grade because of upcoming grading criteria changes, Null if there is no impact on current grade.
- hasWarnings: bool | None#
If this endpoint has warnings that might affect the score (e.g., get A- instead of A).
- isExceptional: bool | None#
This flag will be raised when an exceptional configuration is encountered. The SSL Labs test will give such sites an A+.
ssllabs.data.endpoint_details module#
Endpoint Details.
- class ssllabs.data.endpoint_details.EndpointDetailsData(hostStartTime: int, certChains: List[CertificateChainData], protocols: List[ProtocolData], suites: List[ProtocolSuitesData] | None, noSniSuites: ProtocolSuitesData | None, namedGroups: NamedGroupsData | None, serverSignature: str | None, prefixDelegation: bool, nonPrefixDelegation: bool, vulnBeast: bool | None, renegSupport: int | None, sessionResumption: int | None, compressionMethods: int | None, supportsNpn: bool | None, npnProtocols: str | None, supportsAlpn: bool | None, alpnProtocols: str | None, sessionTickets: int | None, ocspStapling: bool | None, staplingRevocationStatus: int | None, staplingRevocationErrorMessage: str | None, sniRequired: bool | None, httpStatusCode: int | None, httpForwarding: str | None, supportsRc4: bool | None, rc4WithModern: bool | None, rc4Only: bool | None, forwardSecrecy: int | None, supportsAead: bool | None, supportsCBC: bool | None, protocolIntolerance: int | None, miscIntolerance: int | None, sims: SimDetailsData | None, heartbleed: bool | None, heartbeat: bool | None, openSslCcs: int | None, openSSLLuckyMinus20: int | None, ticketbleed: int | None, bleichenbacher: int | None, zombiePoodle: int | None, goldenDoodle: int | None, zeroLengthPaddingOracle: int | None, sleepingPoodle: int | None, poodle: bool | None, poodleTls: int | None, fallbackScsv: bool | None, freak: bool | None, hasSct: int | None, dhPrimes: List[str] | None, dhUsesKnownPrimes: int | None, dhYsReuse: bool | None, ecdhParameterReuse: bool | None, logjam: bool | None, chaCha20Preference: bool | None, hstsPolicy: HstsPolicyData | None, hstsPreloads: List[HstsPreloadData] | None, hpkpPolicy: HpkpPolicyData | None, hpkpRoPolicy: HpkpPolicyData | None, staticPkpPolicy: StaticPkpPolicyData | None, httpTransactions: List[HttpTransactionData] | None, drownHosts: List[DrownHostsData] | None, drownErrors: bool | None, drownVulnerable: bool | None, implementsTLS13MandatoryCS: bool | None, zeroRTTEnabled: int | None)#
Bases:
object
Dataclass for endpoint detail objects.
See also: ssllabs/ssllabs-scan
- certChains: List[CertificateChainData]#
Server Certificate chains
- chaCha20Preference: bool | None#
True if the server takes into account client preferences when deciding if to use ChaCha20 suites. Will be deprecated in new version.
- dhPrimes: List[str] | None#
List of hex-encoded DH primes used by the server. Not present if the server doesn’t support the DH key exchange.
- dhUsesKnownPrimes: int | None#
Whether the server uses known DH primes. Not present if the server doesn’t support the DH key exchange.
- dhYsReuse: bool | None#
True if the DH ephemeral server value is reused. Not present if the server doesn’t support the DH key exchange.
- drownHosts: List[DrownHostsData] | None#
List of DROWN hosts.
- fallbackScsv: bool | None#
True if the server supports TLS_FALLBACK_SCSV, false if it doesn’t. This field will not be available if the server’s support for TLS_FALLBACK_SCSV can’t be tested because it supports only one protocol version (e.g., only TLS 1.2).
- freak: bool | None#
True if the server is vulnerable to the FREAK attack, meaning it supports 512-bit key exchange.
- hasSct: int | None#
Information about the availability of certificate transparency information (embedded SCTs)
- hostStartTime: int#
Endpoint assessment starting time, in milliseconds since 1970. This field is useful when test results are retrieved in several HTTP invocations. Then, you should check that the hostStartTime value matches the startTime value of the host.
- hpkpPolicy: HpkpPolicyData | None#
Server’s HPKP policy.
- hpkpRoPolicy: HpkpPolicyData | None#
Server’s HPKP-RO policy.
- hstsPolicy: HstsPolicyData | None#
Server’s HSTS policy. Experimental.
- hstsPreloads: List[HstsPreloadData] | None#
Information about preloaded HSTS policies.
- httpForwarding: str | None#
Available on a server that responded with a redirection to some other hostname.
- httpStatusCode: int | None#
Status code of the final HTTP response seen. When submitting HTTP requests, redirections are followed, but only if they lead to the same hostname. If this field is not available, that means the HTTP request failed.
- httpTransactions: List[HttpTransactionData] | None#
An array of HttpTransaction objects.
- implementsTLS13MandatoryCS: bool | None#
True if server supports mandatory TLS 1.3 cipher suite (TLS_AES_128_GCM_SHA256), null if TLS 1.3 not supported.
- namedGroups: NamedGroupsData | None#
Instance of NamedGroups object.
- noSniSuites: ProtocolSuitesData | None#
Cipher suites observed only with client that does not support Server Name Indication (SNI).
- protocols: List[ProtocolData]#
Supported protocols
- renegSupport: int | None#
This is an integer value that describes the endpoint support for renegotiation.
- serverSignature: str | None#
Contents of the HTTP Server response header when known. This field could be absent for one of two reasons: 1) the HTTP request failed (check httpStatusCode) or 2) there was no Server response header returned.
- sessionResumption: int | None#
This is an integer value that describes endpoint support for session resumption.
- sims: SimDetailsData | None#
Instance of SimDetails.
- staplingRevocationErrorMessage: str | None#
Description of the problem with the stapled OCSP response, if any.
- staplingRevocationStatus: int | None#
Same as Cert.revocationStatus, but for the stapled OCSP response.
- staticPkpPolicy: StaticPkpPolicyData | None#
Server’s SPKP policy.
- suites: List[ProtocolSuitesData] | None#
Supported cipher suites per protocol
ssllabs.data.host module#
Host.
- class ssllabs.data.host.HostData(host: str, port: int, protocol: str, isPublic: bool, status: str, statusMessage: str | None, startTime: int, testTime: int | None, engineVersion: str, criteriaVersion: str, cacheExpiryTime: int | None, certHostnames: List[str] | None, endpoints: List[EndpointData] | None, certs: List[CertData] | None)#
Bases:
object
Dataclass for host objects.
See also: ssllabs/ssllabs-scan
- cacheExpiryTime: int | None#
When will the assessment results expire from the cache (typically set only for assessment with errors; otherwise the results stay in the cache for as long as there’s sufficient room)
- certHostnames: List[str] | None#
The list of certificate hostnames collected from the certificates seen during assessment. The hostnames may not be valid. This field is available only if the server certificate doesn’t match the requested hostname. In that case, this field saves you some time as you don’t have to inspect the certificates yourself to find out what valid hostnames might be.
- certs: List[CertData] | None#
A list of Cert object, representing the chain certificates in the order in which they were retrieved from the server.
- endpoints: List[EndpointData] | None#
List of Endpoint objects
- isPublic: bool#
True if this assessment is publicly available (listed on the SSL Labs assessment boards)
ssllabs.data.hpkp_policy module#
HPKP Policy.
- class ssllabs.data.hpkp_policy.HpkpPolicyData(header: str | None, status: str, error: str | None, maxAge: int | None, includeSubDomains: bool | None, reportUri: str | None, pins: List[Dict], matchedPins: List[Dict], directives: List[Dict])#
Bases:
object
Dataclass for HPKP Policy objects.
See also: ssllabs/ssllabs-scan
ssllabs.data.hsts_policy module#
HSTS Policy.
- class ssllabs.data.hsts_policy.HstsPolicyData(LONG_MAX_AGE: int, header: str | None, status: str, error: str | None, maxAge: int | None, includeSubDomains: bool | None, preload: bool | None, directives: Dict | None)#
Bases:
object
Dataclass for HSTS Policy objects.
See also: ssllabs/ssllabs-scan
- LONG_MAX_AGE: int#
This constant contains what SSL Labs considers to be sufficiently large max-age value
ssllabs.data.hsts_preload module#
HSTS Preload.
ssllabs.data.http_transaction module#
HTTP Transaction.
- class ssllabs.data.http_transaction.HttpTransactionData(requestUrl: str, statusCode: int | None, requestLine: str | None, requestHeaders: List[str], responseLine: str | None, responseHeadersRaw: List[str], responseHeaders: List[Dict], fragileServer: bool)#
Bases:
object
Dataclass for HTTP Transaction objects.
See also: ssllabs/ssllabs-scan
- fragileServer: bool#
True if the server crashes when inspected by SSL Labs (in which case the full test is refused)
ssllabs.data.info module#
Info.
- class ssllabs.data.info.InfoData(engineVersion: str, criteriaVersion: str, maxAssessments: int, currentAssessments: int, newAssessmentCoolOff: int, messages: List[str])#
Bases:
object
Dataclass for info objects.
See also: ssllabs/ssllabs-scan
- maxAssessments: int#
The maximum number of concurrent assessments the client is allowed to initiate.
ssllabs.data.named_group module#
NamedGroup.
ssllabs.data.named_groups module#
NamedGroup.
- class ssllabs.data.named_groups.NamedGroupsData(list: List[NamedGroupData], preference: bool | None)#
Bases:
object
Dataclass for NamedGroup object lists.
See also: ssllabs/ssllabs-scan
- list: List[NamedGroupData]#
An array of NamedGroup objects
ssllabs.data.protocol module#
Protocol.
- class ssllabs.data.protocol.ProtocolData(id: int, name: str, version: str, v2SuitesDisabled: bool | None, q: int | None)#
Bases:
object
Dataclass for protocol objects.
See also: ssllabs/ssllabs-scan
ssllabs.data.protocol_suites module#
Protocol suites.
- class ssllabs.data.protocol_suites.ProtocolSuitesData(protocol: int, list: List[SuiteData], preference: bool | None, chaCha20Preference: bool | None)#
Bases:
object
Dataclass for protocol suites objects.
See also: ssllabs/ssllabs-scan
- chaCha20Preference: bool | None#
True if the server takes into account client preferences when deciding if to use ChaCha20 suites. null, we were not able to determine if the server has a chacha preference.
ssllabs.data.sim_client module#
Simulation Client.
- class ssllabs.data.sim_client.SimClientData(id: int, name: str, platform: str | None, version: str, isReference: bool)#
Bases:
object
Dataclass for Simulation Client objects.
See also: ssllabs/ssllabs-scan
- isReference: bool#
True if the browser is considered representative of modern browsers, false otherwise. This flag does not correlate to client’s capabilities, but is used by SSL Labs to determine if a particular configuration is effective. For example, to track Forward Secrecy support, we mark several representative browsers as “modern” and then test to see if they succeed in negotiating a FS suite. Just as an illustration, modern browsers are currently Chrome, Firefox (not ESR versions), IE/Win7, and Safari.
ssllabs.data.sim_details module#
Simulation Objects.
- class ssllabs.data.sim_details.SimDetailsData(results: List[SimulationData])#
Bases:
object
Dataclass for Simulation object lists.
See also: ssllabs/ssllabs-scan
- results: List[SimulationData]#
Instances of Simulation.
ssllabs.data.simulation module#
Simulation.
- class ssllabs.data.simulation.SimulationData(client: SimClientData, errorCode: int, errorMessage: str | None, attempts: int, certChainId: str | None, protocolId: int | None, suiteId: int | None, suiteName: str | None, kxType: str | None, kxStrength: int | None, dhBits: int | None, dhP: int | None, dhG: int | None, dhYs: int | None, namedGroupBits: int | None, namedGroupId: int | None, namedGroupName: str | None, keyAlg: str | None, keySize: int | None, sigAlg: str | None)#
Bases:
object
Dataclass for Simulation objects.
See also: ssllabs/ssllabs-scan
- client: SimClientData#
Instance of SimClient.
ssllabs.data.static_pkp_policy module#
SPKP Policy.
- class ssllabs.data.static_pkp_policy.StaticPkpPolicyData(status: str, error: str | None, includeSubDomains: bool | None, reportUri: str | None, pins: List[Dict], matchedPins: List[Dict], forbiddenPins: List[Dict], matchedForbiddenPins: List[Dict])#
Bases:
object
Dataclass for SPKP Policy objects.
See also: ssllabs/ssllabs-scan
ssllabs.data.status_codes module#
StatusCodes.
- class ssllabs.data.status_codes.StatusCodesData(statusDetails: Dict)#
Bases:
object
Dataclass for StatusCodes instances.
See also: ssllabs/ssllabs-scan
ssllabs.data.suite module#
Suite.
- class ssllabs.data.suite.SuiteData(id: int, name: str, cipherStrength: int, kxType: str | None, kxStrength: int | None, dhP: int | None, dhG: int | None, dhYs: int | None, namedGroupBits: int | None, namedGroupId: int | None, namedGroupName: str | None, q: int | None)#
Bases:
object
Dataclass for suite objects.
See also: ssllabs/ssllabs-scan
ssllabs.data.trust module#
Trust.
ssllabs.data.trust_path module#
Trust Path.
- class ssllabs.data.trust_path.TrustPathData(certIds: List[str], trust: List[TrustData], isPinned: bool | None, matchedPins: int | None, unmatchedPins: int | None)#
Bases:
object
Dataclass for trust path objects.
See also: ssllabs/ssllabs-scan
Module contents#
Data classes returned by the API.