Commit Graph

3610 Commits

Author SHA1 Message Date
Dirk Wetter
8759ac61af Add openssl, offer to query OCSP responder
This PR includes two tweaks:

* it helps avoiding the bug querying OCSP responder #2329 by adding
  openssl. The openssl supplied has a mimor DNS lookup problem due
  to glibc / musl libc compatibilty issues
* by adding openssl also it helps a bit for some performance problems
  related to other projects, see #2314

Also the git binary is removed (#2315).

Thanks to @polarathene for the discussions
2023-03-19 22:41:17 +01:00
Dirk Wetter
30022ea697
Merge pull request #2339 from drwetter/CAstores_update_3.0
Update CA root stores
2023-03-19 22:27:36 +01:00
Dirk Wetter
ad44f7d53e Update CA root stores 2023-03-18 22:57:52 +01:00
Dirk Wetter
e9c0beb3f7
Merge pull request #2335 from drwetter/sanitize_fileout_3.0
Backport: Make sure control chars from HTTP header don't end up in …
2023-03-12 18:19:09 +01:00
Dirk Wetter
828af39053 Backporting Make sure control chars from HTTP header don't end up in html,csv,json
This is for 3.0. For 3.1dev, see #2332 .

This PR addresses the bug #2330 by implementing a function which removes control characters from the file output format html,csv,json in the output.
In every instance called there's a check before whether the string contains control chars, hoping it'll save a few milli seconds.

A tr function is used, omitting LF.
It doesn't filter the terminal output and the log file output, yet. It provides a function though which is not being called.
2023-03-12 17:40:02 +01:00
Dirk Wetter
34453664a1
Merge pull request #2334 from drwetter/drwetter-patch-5
Update .gitignore
2023-03-12 16:13:21 +01:00
Dirk Wetter
d662b7bfec add .git dir
see https://github.com/codespell-project/actions-codespell/issues/56
2023-03-12 16:10:56 +01:00
Dirk Wetter
16450e3d4f add codespell corrections (aNULL) 2023-03-12 16:06:02 +01:00
Dirk Wetter
d6c0b33736
Update .gitignore
sync with 3.1dev
2023-03-12 15:59:47 +01:00
Dirk Wetter
b8bb3ef747
Merge pull request #2327 from drwetter/fix_mime-type-3.0
Fix Accept Header (3.0)
2023-02-20 20:29:46 +01:00
Dirk
96a4eb99ad Fix Accept Header (3.0)
see #2325. This is for the 3.0 branch (for 3.1dev see #2326)

"whenever HTTP/1.1 is used then the Accept header uses "text/*" as a MIME type.
This causes some minor issues with some of the checks we are doing"
2023-02-20 15:14:34 +01:00
Dirk Wetter
bd310489d1
Merge pull request #2322 from dcooper16/30_no_grade
Remove set_grade_cap() from 3.0
2023-02-07 08:59:09 +01:00
David Cooper
404d40cf68
Remove set_grade_cap() from 3.0
Grading is a new feature in 3.1dev,, so set_grade_cap() is not defined in the 3.0 branch.

This commit removes the call to set_grade_cap() in certificate_info().
2023-02-06 06:40:22 -08:00
Dirk Wetter
3bacce4770
Merge pull request #2319 from SSLbrain/3.0
Feature request Trustcor certificate #2293 for 3.0
2023-02-05 19:21:15 +01:00
Sole
f7acaa8272 Change exception for removed root certificates into easy edit multi-value regular expression for Organization name and making it clear that CA's are actively removed from 1+ root stores. 2023-02-05 03:22:24 +00:00
Dirk Wetter
4a2b258425
Merge pull request #2318 from dcooper16/fix_html_30
Fix HTML output in Bash 5.2 and newer
2023-02-04 09:24:07 +01:00
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