Skip to content

Commit

Permalink
Merge pull request #583 from nabla-c0d3/dev
Browse files Browse the repository at this point in the history
Dev
  • Loading branch information
nabla-c0d3 authored Jan 16, 2023
2 parents 8ad73ec + fea6c34 commit dc78e62
Show file tree
Hide file tree
Showing 51 changed files with 20,366 additions and 20,495 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/run_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.7, 3.8, 3.9, "3.10"]
python-version: [3.7, 3.8, 3.9, "3.10", "3.11"]

steps:
- uses: actions/checkout@v2
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ htmlcov/

# Pipenv
.venv
.venv311
.venvln


Expand Down
7 changes: 5 additions & 2 deletions dev-requirements.txt
Original file line number Diff line number Diff line change
@@ -1,14 +1,17 @@
mypy==0.950
mypy==0.981
flake8<5.0.0
invoke<2.0.0
pytest<8.0.0
sphinx
sphinx-rtd-theme
twine
sphinx-autodoc-typehints
black==22.3.0
black==22.10.0
pytest-cov
faker

# For mypy
types-pyOpenSSL

# For building the Windows executable
cx-freeze; sys.platform == 'win32'
2 changes: 1 addition & 1 deletion docs/documentation/.buildinfo
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: 710e1f17bd6b1026352fe79ab79c95d4
config: 8775535e1305c0f1b2492fd7e3715a83
tags: 645f666f9bcd5a90fca523b33c5a78b7
2 changes: 1 addition & 1 deletion docs/documentation/_static/documentation_options.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
var DOCUMENTATION_OPTIONS = {
URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'),
VERSION: '5.0.6',
VERSION: '5.1.0',
LANGUAGE: 'None',
COLLAPSE_INDEX: false,
BUILDER: 'html',
Expand Down
188 changes: 86 additions & 102 deletions docs/documentation/available-scan-commands.html

Large diffs are not rendered by default.

30 changes: 15 additions & 15 deletions docs/documentation/genindex.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Index &#8212; SSLyze 5.0.6 documentation</title>
<title>Index &#8212; SSLyze 5.1.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/alabaster.css" />
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
Expand Down Expand Up @@ -136,16 +136,14 @@ <h2 id="E">E</h2>
<li><a href="available-scan-commands.html#sslyze.EllipticCurve">EllipticCurve (class in sslyze)</a>
</li>
<li><a href="available-scan-commands.html#sslyze.ExpectCtHeader.enforce">enforce (sslyze.ExpectCtHeader attribute)</a>
</li>
<li><a href="available-scan-commands.html#sslyze.EphemeralKeyInfo">EphemeralKeyInfo (class in sslyze)</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="available-scan-commands.html#sslyze.EphemeralKeyInfo">EphemeralKeyInfo (class in sslyze)</a>
</li>
<li><a href="running-a-scan-in-python.html#sslyze.ScanCommandAttempt.error_reason">error_reason (sslyze.ScanCommandAttempt attribute)</a>
</li>
<li><a href="running-a-scan-in-python.html#sslyze.ScanCommandAttempt.error_trace">error_trace (sslyze.ScanCommandAttempt attribute)</a>
</li>
<li><a href="available-scan-commands.html#sslyze.TrustStore.ev_oids">ev_oids (sslyze.TrustStore attribute)</a>
</li>
<li><a href="available-scan-commands.html#sslyze.HttpHeadersScanResult.expect_ct_header">expect_ct_header (sslyze.HttpHeadersScanResult attribute)</a>
</li>
Expand Down Expand Up @@ -273,7 +271,7 @@ <h2 id="N">N</h2>
<li><a href="available-scan-commands.html#sslyze.EllipticCurve.name">name (sslyze.EllipticCurve attribute)</a>

<ul>
<li><a href="available-scan-commands.html#id1">(sslyze.TrustStore attribute)</a>, <a href="available-scan-commands.html#sslyze.TrustStore.name">[1]</a>
<li><a href="available-scan-commands.html#sslyze.TrustStore.name">(sslyze.TrustStore attribute)</a>
</li>
</ul></li>
<li><a href="running-a-scan-in-python.html#sslyze.ServerScanResult.network_configuration">network_configuration (sslyze.ServerScanResult attribute)</a>
Expand All @@ -286,9 +284,9 @@ <h2 id="N">N</h2>
</li>
<li><a href="available-scan-commands.html#sslyze.TlsResumptionSupportEnum.NOT_SUPPORTED">NOT_SUPPORTED (sslyze.TlsResumptionSupportEnum attribute)</a>
</li>
<li><a href="available-scan-commands.html#id8">NOT_VULNERABLE_NO_ORACLE (sslyze.RobotScanResultEnum attribute)</a>, <a href="available-scan-commands.html#sslyze.RobotScanResultEnum.NOT_VULNERABLE_NO_ORACLE">[1]</a>
<li><a href="available-scan-commands.html#id5">NOT_VULNERABLE_NO_ORACLE (sslyze.RobotScanResultEnum attribute)</a>, <a href="available-scan-commands.html#sslyze.RobotScanResultEnum.NOT_VULNERABLE_NO_ORACLE">[1]</a>
</li>
<li><a href="available-scan-commands.html#id9">NOT_VULNERABLE_RSA_NOT_SUPPORTED (sslyze.RobotScanResultEnum attribute)</a>, <a href="available-scan-commands.html#sslyze.RobotScanResultEnum.NOT_VULNERABLE_RSA_NOT_SUPPORTED">[1]</a>
<li><a href="available-scan-commands.html#id6">NOT_VULNERABLE_RSA_NOT_SUPPORTED (sslyze.RobotScanResultEnum attribute)</a>, <a href="available-scan-commands.html#sslyze.RobotScanResultEnum.NOT_VULNERABLE_RSA_NOT_SUPPORTED">[1]</a>
</li>
<li><a href="available-scan-commands.html#sslyze.SessionResumptionSupportExtraArgument.number_of_resumptions_to_attempt">number_of_resumptions_to_attempt (sslyze.SessionResumptionSupportExtraArgument attribute)</a>
</li>
Expand Down Expand Up @@ -322,7 +320,7 @@ <h2 id="P">P</h2>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="available-scan-commands.html#sslyze.TlsResumptionSupportEnum.PARTIALLY_SUPPORTED">PARTIALLY_SUPPORTED (sslyze.TlsResumptionSupportEnum attribute)</a>
</li>
<li><a href="available-scan-commands.html#id0">path (sslyze.TrustStore attribute)</a>, <a href="available-scan-commands.html#sslyze.TrustStore.path">[1]</a>
<li><a href="available-scan-commands.html#sslyze.TrustStore.path">path (sslyze.TrustStore attribute)</a>
</li>
<li><a href="available-scan-commands.html#sslyze.CertificateDeploymentAnalysisResult.path_validation_results">path_validation_results (sslyze.CertificateDeploymentAnalysisResult attribute)</a>
</li>
Expand Down Expand Up @@ -513,7 +511,7 @@ <h2 id="T">T</h2>
</li>
<li><a href="available-scan-commands.html#sslyze.TlsVersionEnum">TlsVersionEnum (class in sslyze)</a>
</li>
<li><a href="available-scan-commands.html#sslyze.PathValidationResult.trust_stores">trust_stores (sslyze.PathValidationResult attribute)</a>
<li><a href="available-scan-commands.html#sslyze.PathValidationResult.trust_store">trust_store (sslyze.PathValidationResult attribute)</a>
</li>
<li><a href="available-scan-commands.html#sslyze.TrustStore">TrustStore (class in sslyze)</a>
</li>
Expand All @@ -523,7 +521,7 @@ <h2 id="T">T</h2>
<h2 id="U">U</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="available-scan-commands.html#id10">UNKNOWN_INCONSISTENT_RESULTS (sslyze.RobotScanResultEnum attribute)</a>, <a href="available-scan-commands.html#sslyze.RobotScanResultEnum.UNKNOWN_INCONSISTENT_RESULTS">[1]</a>
<li><a href="available-scan-commands.html#id7">UNKNOWN_INCONSISTENT_RESULTS (sslyze.RobotScanResultEnum attribute)</a>, <a href="available-scan-commands.html#sslyze.RobotScanResultEnum.UNKNOWN_INCONSISTENT_RESULTS">[1]</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
Expand All @@ -542,16 +540,18 @@ <h2 id="V">V</h2>
</li>
</ul></li>
<li><a href="available-scan-commands.html#sslyze.CertificateDeploymentAnalysisResult.verified_chain_has_legacy_symantec_anchor">verified_chain_has_legacy_symantec_anchor (sslyze.CertificateDeploymentAnalysisResult attribute)</a>
</li>
<li><a href="available-scan-commands.html#sslyze.CertificateDeploymentAnalysisResult.verified_chain_has_sha1_signature">verified_chain_has_sha1_signature (sslyze.CertificateDeploymentAnalysisResult attribute)</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="available-scan-commands.html#sslyze.CertificateDeploymentAnalysisResult.verified_chain_has_sha1_signature">verified_chain_has_sha1_signature (sslyze.CertificateDeploymentAnalysisResult attribute)</a>
<li><a href="available-scan-commands.html#sslyze.TrustStore.verify_certificate_chain">verify_certificate_chain() (sslyze.TrustStore method)</a>
</li>
<li><a href="available-scan-commands.html#id2">version (sslyze.TrustStore attribute)</a>, <a href="available-scan-commands.html#sslyze.TrustStore.version">[1]</a>
<li><a href="available-scan-commands.html#sslyze.TrustStore.version">version (sslyze.TrustStore attribute)</a>
</li>
<li><a href="available-scan-commands.html#id7">VULNERABLE_STRONG_ORACLE (sslyze.RobotScanResultEnum attribute)</a>, <a href="available-scan-commands.html#sslyze.RobotScanResultEnum.VULNERABLE_STRONG_ORACLE">[1]</a>
<li><a href="available-scan-commands.html#id4">VULNERABLE_STRONG_ORACLE (sslyze.RobotScanResultEnum attribute)</a>, <a href="available-scan-commands.html#sslyze.RobotScanResultEnum.VULNERABLE_STRONG_ORACLE">[1]</a>
</li>
<li><a href="available-scan-commands.html#id6">VULNERABLE_WEAK_ORACLE (sslyze.RobotScanResultEnum attribute)</a>, <a href="available-scan-commands.html#sslyze.RobotScanResultEnum.VULNERABLE_WEAK_ORACLE">[1]</a>
<li><a href="available-scan-commands.html#id0">VULNERABLE_WEAK_ORACLE (sslyze.RobotScanResultEnum attribute)</a>, <a href="available-scan-commands.html#sslyze.RobotScanResultEnum.VULNERABLE_WEAK_ORACLE">[1]</a>
</li>
</ul></td>
</tr></table>
Expand Down
4 changes: 2 additions & 2 deletions docs/documentation/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />

<title>SSLyze &#8212; SSLyze 5.0.6 documentation</title>
<title>SSLyze &#8212; SSLyze 5.1.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/alabaster.css" />
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
Expand Down Expand Up @@ -34,7 +34,7 @@

<section id="sslyze">
<h1><a class="toc-backref" href="#id1">SSLyze</a><a class="headerlink" href="#sslyze" title="Permalink to this headline"></a></h1>
<p>Release 5.0.6</p>
<p>Release 5.1.0</p>
<a class="reference external image-reference" href="https://pepy.tech/project/sslyze"><img alt="https://pepy.tech/badge/sslyze" src="https://pepy.tech/badge/sslyze" /></a>
<a class="reference external image-reference" href="https://pypi.org/project/sslyze/"><img alt="https://img.shields.io/pypi/l/sslyze.svg" src="https://img.shields.io/pypi/l/sslyze.svg" /></a>
<a class="reference external image-reference" href="https://pypi.org/project/sslyze/"><img alt="https://img.shields.io/pypi/pyversions/sslyze.svg" src="https://img.shields.io/pypi/pyversions/sslyze.svg" /></a>
Expand Down
2 changes: 1 addition & 1 deletion docs/documentation/json-output.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />

<title>Exporting and processing scan results in JSON &#8212; SSLyze 5.0.6 documentation</title>
<title>Exporting and processing scan results in JSON &#8212; SSLyze 5.1.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/alabaster.css" />
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
Expand Down
Binary file modified docs/documentation/objects.inv
Binary file not shown.
2 changes: 1 addition & 1 deletion docs/documentation/py-modindex.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Python Module Index &#8212; SSLyze 5.0.6 documentation</title>
<title>Python Module Index &#8212; SSLyze 5.1.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/alabaster.css" />
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
Expand Down
4 changes: 2 additions & 2 deletions docs/documentation/running-a-scan-in-python.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />

<title>Running a Scan in Python &#8212; SSLyze 5.0.6 documentation</title>
<title>Running a Scan in Python &#8212; SSLyze 5.1.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/alabaster.css" />
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
Expand Down Expand Up @@ -159,7 +159,7 @@ <h2>Full Example<a class="headerlink" href="#full-example" title="Permalink to t
<span class="c1"># etc... Other scan command results to process are in server_scan_result.scan_result</span>

<span class="c1"># Lastly, save the all the results to a JSON file</span>
<span class="n">json_file_out</span> <span class="o">=</span> <span class="n">Path</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;api_sample_results.json&quot;</span><span class="p">)</span>
<span class="n">json_file_out</span> <span class="o">=</span> <span class="n">Path</span><span class="p">(</span><span class="s2">&quot;api_sample_results.json&quot;</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;</span><span class="se">\n\n</span><span class="s2">=&gt; Saving scan results to </span><span class="si">{</span><span class="n">json_file_out</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
<span class="n">example_json_result_output</span><span class="p">(</span><span class="n">json_file_out</span><span class="p">,</span> <span class="n">all_server_scan_results</span><span class="p">,</span> <span class="n">date_scans_started</span><span class="p">,</span> <span class="n">datetime</span><span class="o">.</span><span class="n">utcnow</span><span class="p">())</span>

Expand Down
2 changes: 1 addition & 1 deletion docs/documentation/search.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Search &#8212; SSLyze 5.0.6 documentation</title>
<title>Search &#8212; SSLyze 5.1.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/alabaster.css" />

Expand Down
2 changes: 1 addition & 1 deletion docs/documentation/searchindex.js

Large diffs are not rendered by default.

43 changes: 16 additions & 27 deletions json_output_schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
},
"sslyze_version": {
"title": "Sslyze Version",
"default": "5.0.6",
"default": "5.1.0",
"type": "string"
},
"sslyze_url": {
Expand Down Expand Up @@ -98,7 +98,8 @@
"required": [
"hostname",
"port"
]
],
"additionalProperties": false
},
"_ServerNetworkLocationAsJson": {
"title": "_ServerNetworkLocationAsJson",
Expand Down Expand Up @@ -295,6 +296,15 @@
"items": {
"type": "string"
}
},
"ip_addresses": {
"title": "Ip Addresses",
"default": [],
"type": "array",
"items": {
"type": "string",
"format": "ipvanyaddress"
}
}
},
"required": [
Expand Down Expand Up @@ -517,7 +527,7 @@
},
"_PathValidationResultAsJson": {
"title": "_PathValidationResultAsJson",
"description": "The result of trying to validate a server's certificate chain using a specific trust store.\n\nAttributes:\n trust_stores: The trust store used for validation.\n verified_certificate_chain: The verified certificate chain returned by OpenSSL.\n Index 0 is the leaf certificate and the last element is the anchor/CA certificate from the trust store.\n Will be None if the validation failed or the verified chain could not be built.\n Each certificate is parsed using the cryptography module; documentation is available at\n https://cryptography.io/en/latest/x509/reference/#x-509-certificate-object.\n openssl_error_string: The result string returned by OpenSSL's validation function; None if validation was\n successful.\n was_validation_successful: Whether the certificate chain is trusted when using supplied the trust_stores.",
"description": "The result of trying to validate a server's certificate chain using a specific trust store.\n\nAttributes:\n trust_store: The trust store used for validation.\n verified_certificate_chain: The verified certificate chain returned by OpenSSL.\n Index 0 is the leaf certificate and the last element is the anchor/CA certificate from the trust store.\n Will be None if the validation failed or the verified chain could not be built.\n Each certificate is parsed using the cryptography module; documentation is available at\n https://cryptography.io/en/latest/x509/reference/#x-509-certificate-object.\n openssl_error_string: The result string returned by OpenSSL's validation function; None if validation was\n successful.\n was_validation_successful: Whether the certificate chain is trusted when using supplied the trust_stores.",
"type": "object",
"properties": {
"trust_store": {
Expand Down Expand Up @@ -1304,31 +1314,9 @@
"include_subdomains"
]
},
"_ExpectCtHeaderAsJson": {
"title": "_ExpectCtHeaderAsJson",
"description": "An Expect-CT header parsed from a server's HTTP response.\n\nAttributes:\n max-age: The content of the max-age field.\n report-uri: The content of report-uri field.\n enforce: True if enforce directive is set.",
"type": "object",
"properties": {
"max_age": {
"title": "Max Age",
"type": "integer"
},
"report_uri": {
"title": "Report Uri",
"type": "string"
},
"enforce": {
"title": "Enforce",
"type": "boolean"
}
},
"required": [
"enforce"
]
},
"HttpHeadersScanResultAsJson": {
"title": "HttpHeadersScanResultAsJson",
"description": "The result of testing a server for the presence of security-related HTTP headers.\n\nEach HTTP header described below will be ``None`` if the server did not return a valid HTTP response, or if the\nserver returned an HTTP response without the HTTP header.\n\nAttributes:\n http_request_sent: The initial HTTP request sent to the server by SSLyze.\n http_error_trace: An error the server returned after receiving the initial HTTP request. If this field is set,\n all the subsequent fields will be ``None`` as SSLyze did not receive a valid HTTP response from the server.\n http_path_redirected_to: The path SSLyze was eventually redirected to after sending the initial HTTP request.\n strict_transport_security_header: The Strict-Transport-Security header returned by the server.\n expect_ct_header: The Expect-CT header returned by the server.",
"description": "The result of testing a server for the presence of security-related HTTP headers.\n\nEach HTTP header described below will be ``None`` if the server did not return a valid HTTP response, or if the\nserver returned an HTTP response without the HTTP header.\n\nAttributes:\n http_request_sent: The initial HTTP request sent to the server by SSLyze.\n http_error_trace: An error the server returned after receiving the initial HTTP request. If this field is set,\n all the subsequent fields will be ``None`` as SSLyze did not receive a valid HTTP response from the server.\n http_path_redirected_to: The path SSLyze was eventually redirected to after sending the initial HTTP request.\n strict_transport_security_header: The Strict-Transport-Security header returned by the server.\n expect_ct_header: DEPRECATED - will always be ``None``. This is because the Expect-CT header has officially\n been deprecated.",
"type": "object",
"properties": {
"http_request_sent": {
Expand All @@ -1347,7 +1335,8 @@
"$ref": "#/definitions/_StrictTransportSecurityHeaderAsJson"
},
"expect_ct_header": {
"$ref": "#/definitions/_ExpectCtHeaderAsJson"
"title": "Expect Ct Header",
"type": "null"
}
},
"required": [
Expand Down
2 changes: 1 addition & 1 deletion setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
description-file = README.md

[flake8]
exclude = .venv, .venvln
exclude = .venv, .venvln, .venv311
max-line-length = 120

[mypy]
Expand Down
Loading

0 comments on commit dc78e62

Please sign in to comment.