Commit Graph

3574 Commits

Author SHA1 Message Date
Dirk Wetter 6e68763885 Merge pull request #2240 from dcooper16/neat_lis_alignment_30
Fix alignment in neat_list()
2022-09-16 09:15:17 +02:00
David Cooper d37f6c78ae Fix alignment in neat_list()
When neat_list() is printing information about a cipher suite that uses (EC)DH key exchange that was obtained using an old version of OpenSSL the rows are not properly aligned, since the key exchange input includes an unexpected trailing space. This commit fixes the problem by removing any trailing spaces from $kx.
2022-09-15 13:59:17 -07:00
Dirk Wetter 8eb177aa45 Merge pull request #2230 from drwetter/new_binaries_3.0
New binaries 3.0
2022-09-07 10:39:36 +02:00
Dirk 1af2aa6106 Review text, renew some paragraphs
.. and update links, reflect name change to -bad
2022-09-07 10:30:08 +02:00
Dirk 5eb07e1270 Add Darwin binary from #2224 2022-09-07 10:26:02 +02:00
Dirk 8aa59d4a9a New FreeBSD x64 binary 2022-09-07 10:26:02 +02:00
Dirk 714e7049eb New Linux 32 binary 2022-09-07 10:26:02 +02:00
Dirk 35470087b5 Add newer Linux 64 bit binaries
* supporting xmpp-server, see #1575, #1589
* address security bug, see #2179
2022-09-07 10:25:51 +02:00
Dirk Wetter 01e6535ec1 Merge pull request #2226 from dcooper16/fix_ct_30
Fix certificate_transparency()
2022-09-07 10:18:59 +02:00
Dirk Wetter 14ebd0fe5d Merge pull request #2228 from dcooper16/fix_data_after_finished_30
Fix decrypting TLS 1.3 server response
2022-09-07 10:17:14 +02:00
David Cooper d6888457eb Fix certificate_transparency()
certificate_transparency() does not work in debug mode, since tls_sockets() writes debugging messages to stdout. This commit fixes the problem by having certificate_transparency() return its results using a global variable rather than writing the results to stdout and having having run_server_defaults() catch the output.
2022-09-06 11:40:18 -07:00
David Cooper a8c8bfe7ea Fix decrypting TLS 1.3 server response
There is at least one server that includes a new session ticket in the same packet as the Finished message. This confuses check_tls_serverhellodone() since the new session ticket is encrypted under the application traffic keys rather than the handshake keys. check_tls_serverhellodone(), being unable to decrypt the new session ticket, reports a failure and does not return any of the decrypted data.

This commit fixes the problem by having check_tls_serverhellodone() simply ignore any data that appears after the Finished message.
2022-09-02 11:15:50 -07:00
Dirk Wetter bac8cb73f6 Merge pull request #2219 from dcooper16/fix2198_30
Fix #2198
2022-08-26 10:12:40 +02:00
David Cooper 07dca9fd6b Fix #2198
This commit is the same as #2211, but for the 3.0 branch.
2022-08-25 09:44:14 -07:00
Dirk Wetter bed3cbe792 Merge pull request #2216 from drwetter/alpine3.15-dockerfile_3.0
Upgrade Alpine version to the latest stable -1
2022-08-22 20:27:24 +02:00
Dirk 594fabe5c5 Address codespell issue in roff file
... by regenerating it with a newer ronn version.
2022-08-22 20:25:08 +02:00
Dirk Wetter 1154a6bc25 Upgrade Alpine version to the latest stable -1
3.15
2022-08-22 16:35:23 +02:00
Dirk Wetter c730d9529e Merge pull request #2202 from drwetter/certupdate_3.0
Cert update (3.0)
2022-07-03 16:22:18 +02:00
Dirk Wetter b148f68a85 Update README.md 2022-07-02 22:29:44 +02:00
Dirk c9dd2320ee Remove the expired DST Root CA X3 cert from ...
Apple / Linux / Microsoft stores
2022-07-02 22:29:04 +02:00
Dirk 721d1ab560 Reference to remove DST Root CA 2022-07-02 22:29:04 +02:00
Dirk af84d0ca4c add new stores 2022-07-02 22:29:04 +02:00
Dirk f04aa2fe03 Java.pem from Oracle jdk-17.0.3.1 2022-07-02 22:29:04 +02:00
Dirk 8a7a321e35 Apple.pem: picked from Internet (see etc/Readme.md) 2022-07-02 22:29:04 +02:00
Dirk 31e2c014bc add loop for Apple.pem 2022-07-02 22:29:04 +02:00
Dirk 0248d112ce fine tune instructions for Apple.pem 2022-07-02 22:29:04 +02:00
Dirk e6cfb364a9 Update cert store: Linux + Mozilla 2022-07-02 22:29:04 +02:00
Dirk Wetter b1c5a33cec Merge pull request #2192 from drwetter/update_clients1_3.0
Update client simulation for 3.0
2022-05-31 21:53:48 +02:00
Dirk Wetter 95b687b0a9 Add a few files to be ignored.. 2022-05-31 20:26:03 +02:00
Dirk Wetter 6ac9c59135 correct ch_{ciphers,sni}
That was due to a copy error from 3.1dev.
2022-05-31 20:08:37 +02:00
Dirk Wetter 445d20c360 Update client simulation for 3.0
see #2169, #2168

Added:
* Safari for macOS
* Java 17 LTS
* OpenSSL 3.0.3
* Android 11 and 12
* Go client (1.17)
* Firefox 100, Chrome and Edge 101 using Win10
* Thunderbird 91.9
* AppleMail
* LibreSSL from MacOS

* disabled Java 12 and Safari on OS X 10.12
* disabled Android < 6.0

* documention update how to add a client simulation
* add curves-mapping.txt file
2022-05-31 17:08:40 +02:00
Dirk Wetter 2ca53116ca Merge pull request #2190 from EliteTK/3.0-fix-crime-tls1.3
Fix CRIME test on servers only supporting TLS 1.3
2022-05-25 08:39:09 +02:00
Tomasz Kramkowski 5793bc26ae Make run_crime use $jsonID instead of repeating
This also seems more consistent across the code.
2022-05-24 22:21:57 +01:00
Tomasz Kramkowski 130b5b2aac Fix CRIME test on servers only supporting TLS 1.3
As jsonID is not set by run_crime, make the fileout invocation for
servers supporting only TLS 1.3 use the literal "CRIME_TLS" instead.

Previously running testssl with CSV or JSON output would produce an item
with the wrong ID.
2022-05-24 22:21:57 +01:00
Dirk Wetter 897443f035 Merge pull request #2185 from drwetter/censys_fix_2127.3.0
Fix censys link (3.0)
2022-05-14 13:50:25 +02:00
Dirk 78e67d8fff Shorten censys link
Remove sort order and fix the argument separator
2022-05-14 11:52:45 +02:00
Dirk d38a8b283d Backport #2184, Censys link
See #2127. The line is very long though: 152 chars
2022-05-14 11:42:43 +02:00
Dirk Wetter 41deaf908d Merge pull request #2170 from drwetter/fix_banner_3.0
Fix banner and remove STARTTLS NNTP CI check
2022-05-04 12:12:39 +02:00
Dirk Wetter a773f00fce Fix banner and remove STARTTLS NNTP CI check
On macOS in dark mode the git tag in grey wasn't visible. It was
changed now to light grey. It also works at least on Linux
using a light terminal background.

The NNTP server which we used for STARTTLS checks seems ofen
not to work. Thus this PR removes that for the 3.0 branch.
2022-05-04 10:56:16 +02:00
Dirk Wetter 980ec6ba33 Merge pull request #2166 from dcooper16/backport_2157_2160_2162
Backport #2157, #2160, #2162
2022-05-03 21:11:30 +02:00
David Cooper aaf7bf8505 Backport #2157, #2160, #2162
This commit backports PR #2157, #2160, and #2162 from the 3.1dev branch to the 3.0 branch.
2022-05-02 10:33:07 -04:00
Dirk Wetter 793eaa3f84 Merge pull request #2165 from drwetter/ftp_starttls_auth_only_3.0
Relax STARTTLS FTP requirement (3.0)
2022-04-28 07:30:51 +02:00
Dirk 405f431612 Relax STARTTLS FTP requirement (3.0)
In rare? occassions where the STARTTLS FEAT request only displays AUTH instead
of AUTH TLS, testssl.sh fails as it cannot upgrade to TLS.

Required by RFC 4217 is only AUTH ("MUST"), AUTH TLS is optional ("should"), see section 6.
This PR relaxes the presence of TLS after AUTH and fixes #2132 for the 3.0 branch.
2022-04-27 14:52:46 +02:00
Dirk Wetter 2eac75d5b5 Merge pull request #2155 from dcooper16/server_pref_no_default_protocol_30
Fix run_server_preference() with no default protocol
2022-04-24 18:12:19 +02:00
David Cooper 93711f3d30 Fix run_server_preference() with no default protocol
run_server_preference() calls "default_proto=$(get_protocol $TMPFILE)" even if all attempts to connect to the server failed. This will result in default_proto incorrectly being set to TLS 1.2. This commit fixes the issue by only calling get_protocol() if an attempt to connect to the server was successful.
2022-04-14 12:29:21 -04:00
Dirk Wetter 0047e1f153 Merge pull request #2153 from dcooper16/no_session_id_30
Fix setting NO_SESSION_ID
2022-04-14 18:08:53 +02:00
Dirk Wetter 55785afb5e Merge pull request #2152 from dcooper16/fix2147_30
Fix getting CRL
2022-04-14 18:07:29 +02:00
David Cooper 0d596e208b Fix setting NO_SESSION_ID
With a TLS 1.3 connection, a session ID will only appears as part of a post-handshake session ticket. However, with OpenSSL 1.1.1 or newer when using $OPENSSL s_client as it is called in determine_optimal_proto() (i.e., with "< /dev/null"), a post-handshake session ticket will usually not be received, even if the server supports it. With versions of LibreSSL that support TLS 1.3, a post-handshake session ticket is never displayed (even without "< /dev/null"). This can result in NO_SESSION_ID incorrectly being set to true.

This commit fixes the issue by setting NO_SESSION_ID to true by default, and then setting it to false if a session ID is returned by any connection to the server.
2022-04-14 09:40:41 -04:00
David Cooper 6e6b8731c9 Fix getting CRL
OpenSSL 3.X pretty prints certificates in a slightly different way than previous versions, and this breaks the code for getting the URIs from the CRLDP extension.
This commit fixes the issue by having awk search for additional possible strings to start the CRL Distribution Points output. Unless the CRLDP extension is malformed, it will begin with "Full Name", "Relative Name", "Reasons", or "CRL Issuer".
2022-04-14 08:31:57 -04:00
Dirk Wetter a47bc2097e Merge pull request #2146 from dcooper16/ossl3_fix_30
More OpenSSL compatibility fixes
2022-04-12 18:51:06 +02:00