Commit Graph

3644 Commits

Author SHA1 Message Date
David Cooper
5c0b8314d0 Fix HTML output in Bash 5.2 and newer
As noted in #2304, the way that the '&' character is treated in the string part of a pattern substitution changed in Bash 5.2. As a result, the change that was made in #1481 to accommodate older versions of Bash (e.g., on MacOS) now causes testssl.sh to produce incorrect HTML output when run on Bash 5.2.

This commit encodes the '&' characters in the substitution strings in a way that produces correct results on multiple versions of Bash (3.2 on MacOS, 5.2 on Ubuntu 23.10, 5.0 on Ubuntu 20.04).
2023-02-03 14:31:08 -08:00
Dirk Wetter
cd2eef30ea
Merge pull request #2307 from drwetter/upgrade_alpine_perf-fix-3.0
Upgrade Alpine version for both Dockerfiles (3.0)
2023-02-01 19:49:12 +01:00
Dirk Wetter
cd66c90054 Upgrade Alpine version for both Dockerfiles (3.0)
... to improve/mitigate performance problems, see #2299. (musl libc vs. glibc)

Same PR as for 3.1dev branch: #2306
2023-02-01 19:47:38 +01:00
Dirk Wetter
d01ded1fd0
Merge pull request #2283 from drwetter/drwetter-patch-3
Reflect past update for Dockerfile (3.0) for ghcr
2022-11-28 17:09:37 +01:00
Dirk Wetter
801930736f
Reflect past update for Dockerfile (3.0) for ghcr
... using alpine 3.15
2022-11-28 14:13:56 +01:00
Dirk Wetter
6b91a60a7a
Merge pull request #2274 from dcooper16/fix2249
Fix #2249
2022-11-11 16:30:12 +01:00
Dirk Wetter
3261e6e7a9
Merge pull request #2273 from dcooper16/fix2271_30
Fix #2271
2022-11-11 16:28:48 +01:00
David Cooper
8593cbbb14
Fix #2249
OpenSSL uses "sha1WithRSAEncryption" to represent 1.2.840.113549.1.1.5 and "sha1WithRSA" to represent 1.3.14.3.2.29. While 1.2.840.113549.1.1.5 is generally recognized as the "standard" OID for RSA with SHA-1 (see, for example, RFC 3279), 1.3.14.3.2.29 has been used in some places as well (https://codereview.chromium.org/1223763002, https://bugzilla.mozilla.org/show_bug.cgi?id=1042479, pyca/cryptography#3160)
2022-11-10 11:37:58 -08:00
David Cooper
f929e39db0
Fix #2271
This commit fixes #2271 by adding the `-no_ssl2` option to the call to get_host_cert() in run_drown(). There is at least one server that causes OpenSSL to hang if this call to get_host_cert() results in an SSLv2 ClientHello being sent. Since this call to get_host_cert() only needs to find the server's certificate in cases in which the server does not support SSLv2, there is no need to send an SSLv2 ClientHello.
2022-11-10 11:33:30 -08:00
Dirk Wetter
52fe210e76
Merge pull request #2269 from drwetter/mastodon-3.0
Hint for mastodon
2022-11-10 16:33:10 +01:00
Dirk Wetter
1172327509
Hint for mastodon
... ... and to a separate account
2022-11-10 15:14:21 +01:00
Dirk Wetter
87bae00fa5
Merge pull request #2267 from drwetter/workflow_update_3.0
Restrict permissions, update actions
2022-11-10 10:55:39 +01:00
Dirk Wetter
9eeb93625d
Merge pull request #2263 from dcooper16/run_pfs_infinite_loop
Fix infinite loop in run_pfs()
2022-11-10 10:49:33 +01:00
Dirk Wetter
b8afca6be1 Restrict permissions, update actions
The actions release numbers were taken from the 3.1dev branch.

    Note: there was one strange codespell error in PR #2263.
    Maybe the updated action will avoid this in the future.
2022-11-10 10:35:43 +01:00
David Cooper
b9271ba5ec
Fix infinite loop in run_pfs()
This commit fixes an infinite loop in run_pfs() that occurs in cases in which $OPENSSL supports TLS 1.3 and the server supports all of the non-TLS 1.3 FS ciphers that $OPENSSL supports but not all of the TLS 1.3 ciphers that $OPENSSL supports.

The problem is that testing for supported ciphers using $OPENSSL, testing should stop if there are no more ciphers to test (because all of the ciphers supported by $OPENSSL have been determined to be supported by the server). However, currently testing only stops if both the list of TLS 1.3 ciphers and non-TLS 1.3 ciphers is empty. In the problematic case, only the list of non-TLS 1.3 ciphers is empty. Instead of stopping, s_client_options() is called with a -cipher option with an empty list, and s_client_options() simply removes the -cipher option from the command, resulting in a call to $OPENSSL s_client with a full list of non-TLS 1.3 ciphers. Since this call succeeds, the loop continues.

This commit fixes the problem by stopping TLS 1.3 ClientHello testing when the list of TLS 1.3 ciphers is empty and stopping non-TLS 1.3 ClientHello testing when the list of non-TLS 1.3 ciphers is empty.
2022-11-01 14:16:43 -07:00
Dirk Wetter
abdd51d815
Merge pull request #2231 from drwetter/bump_version
Bump version
2022-09-28 09:19:37 +02:00
Dirk Wetter
3ad9c6edd0
Merge pull request #2243 from ghen2/grep-3.8
Fix grep 3.8 warnings on unneeded escapes of hyphen, slash, space.
2022-09-18 19:21:06 +02:00
Geert Hendrickx
ffcf07f6b1 Fix grep 3.8 warnings on fgrep. 2022-09-18 18:59:18 +02:00
Geert Hendrickx
c819a3014a
Fix grep 3.8 warnings on unneeded escapes of hyphen, slash, space. 2022-09-18 18:52:27 +02:00
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
884319948e Bump version 2022-09-07 10:49:19 +02: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