Commit Graph

3617 Commits

Author SHA1 Message Date
Dirk Wetter
a3e589e331
Merge pull request #2015 from drwetter/fix_len_certserialnum_3.0
Check cert serial len + fix output when too big (3.0)
2021-10-20 08:58:25 +02:00
Dirk Wetter
36f6093ca9 Check cert serial len + fix output when too big (3.0)
Same as #2014, this is for 3.0 though.

OpenSSL shows certificate serial numbers >35 with a LF (0A). Testssl.sh
just output that which makes JSON invalid and displays the LF in the terminal
too.

This PR fixes that (#2010) by adding text filters so that the
serial number is not a multiline string.

Also this PR introduces a new function: a size check of the cert serial.
Below 8 bytes the CAB Forum's lower limit is hit which says the entropy
from a CSPRNG should be at least 64 bits. It is assumed that below 8 bytes
length this requirement isn't possible to meet (needs to be clarified with
Shannon, 8 bytes seems to low to me).
The high threshold is according to RFC 5280, Section-4.1.2.2 .

See also #2013.

The output has changed, so that on the terminal the serial has one line,
SHA1 and SHA256 each one line. The new json key is "cert_serialNumberLen".
2021-10-19 20:27:43 +02:00
Dirk Wetter
6c555f478b Addressing lame DNS responses on WSL (3.0)
This commit provides a global variable to the RFC 6761 use of "invalid."
which WSL clients don't seem to handle very well, see #1738, #1812.
"invalid."  is used as a target to find out in a couple of pre-checks what
is supported by the openssl version.

This PR reduces the number of ``openssl s_client -connect`` by a huge factor.
For the remaining invocations the OS used is being determined and if WSL is
assumed (the check is probably not 100% accurate) it uses ``127.0.0.1:0`` instead.
In (unfortunately only a few) pre-tests the response was immediate.

Also it is possible to use another target if needed by

     NXCONNECT=<mytargethere>:<myport> ./testssl.sh <URL>

This is for 3.0. For 3.1dev see #1988 .
2021-10-18 20:09:16 +02:00
Dirk Wetter
136b9416f5
Merge pull request #2006 from drwetter/fix_1992_certificateIssuerName_3.0
Fix invalid JSON when certificate issuer contains non-ASCII chars (3.0)
2021-10-03 21:05:11 +02:00
Dirk
2e821b9f62 Fix invalid JSON when certificate issuer contains non-ASCII chars (3.0)
Changed printf %s to printf %b which cause now to output UTF-8 correctly.

See #1992.
2021-10-03 18:31:06 +02:00
Dirk Wetter
c3d2cf75b4
Merge pull request #2003 from drwetter/drwetter-patch-1
Fix typo / spelling error
2021-10-02 22:32:44 +02:00
Dirk Wetter
9f8ed56534
Fix typo / spelling error 2021-10-02 22:31:14 +02:00
Dirk Wetter
c1210e98a5
Merge pull request #1948 from drwetter/bump_version_3.0.6
Bump version to 3.0.6
2021-10-02 22:21:53 +02:00
Dirk Wetter
1732e9c919
Merge branch '3.0' into bump_version_3.0.6 2021-10-02 22:21:36 +02:00
Dirk Wetter
b68147150a
Merge pull request #2000 from mig5/fix-letsencrypt-remove-dst-root-x3-ca-cert-3.0-fixed
Remove the expired DST Root CA X3 cert from all trust stores, and ensure Mozilla's is up to date (fixes ISRG X1 alternate path) - 3.0 branch
2021-10-02 08:37:03 +02:00
Miguel Jacq
49784b663d
Remove the expired DST Root CA X3 cert from all trust stores, and ensure Mozilla's is up to date (fixes ISRG X1 alternate path) 2021-10-02 08:24:46 +10:00
Dirk Wetter
6c874cccee
Merge pull request #1989 from drwetter/fix_1982-3.0__kali.cnf
Fix #1982: Newer openssl.cnf break openssl detection (3.0)
2021-09-15 12:41:56 +02:00
Dirk Wetter
8a53039de6 Fix #1982: Newer openssl.cnf break openssl detection (3.0)
Newer configuration files from openssl may include statements
which aren't compatible with our supplied old openssl version.
This commit adds an autodetection of such a file and uses a
openssl.cnf provided by this project then.

The openssl.cnf is from a Debian Jessie package.

See also #1987
2021-09-15 11:25:10 +02:00
Dirk Wetter
24ba9e6efa
Merge pull request #1986 from DimitriPapadopoulos/3.0
Typos found by codespell
2021-09-14 14:49:37 +02:00
Dimitri Papadopoulos
ca1043bda5
Typos found by codespell
Run codespell in CI
2021-09-14 14:10:33 +02:00
Dirk Wetter
19760b2775
Merge pull request #1980 from drwetter/fix_1978_3.0
Fix minor inconsistency in description of cipher categories (3.0)
2021-09-10 08:10:00 +02:00
Dirk
a239ac7a6a Fix GHA (starttls nntp)
using another IP
2021-09-09 23:21:08 +02:00
Dirk
7be262f287 Fix minor inconsistency in description of cipher categories
A longer while back the section ~ "Testing standard ciphers" was
renamed to "Testing cipher categories". However the internal help
didn't reflect that.

This fixes that, including an addtion to the documentation.

Note: the help still lists "-s --std, --standard" as a cmd line
switch.
2021-09-09 21:50:03 +02:00
Dirk Wetter
99be55650a
Merge pull request #1977 from ap-wtioit/3.0-fix_dig_r_check
Fix dig -r check to only run if dig is available
2021-09-06 10:30:47 +02:00
Andreas Perhab
f7b8f93fd0 Fix dig -r check to only run if dig is available 2021-09-06 10:24:51 +02:00
Dirk Wetter
516cd43dd3
Merge pull request #1973 from drwetter/fix_dig-r_3.0
Fix cases where dig -r wasn't working (3.0)
2021-09-01 19:33:43 +02:00
Dirk
80cbdf2748 Fix cases where dig -r wasn't working (3.0)
Similar to #1972.

* the ignore ~/.digrc option from dig is now parsed from the builtin help
* there was a potential DNS call which is now avoided
* the +noidnout check is now parsed from the builtin help
* the OPENSSL_CONF="" in check_resolver_bins() was moved a few lines higher to avoid other errors in the terminal
* redo check for noidnout by also using the help function of dig

See also #1949
2021-09-01 18:51:03 +02:00
Dirk Wetter
30a2f47e3d
Merge pull request #1971 from dcooper16/fix_1961_3.0
Fix #1961 in 3.0 branch
2021-08-30 19:56:34 +02:00
David Cooper
00ffcb8c00 Fix #1961 in 3.0 branch
This commit is the same as #1962, but for the 3.0 branch.
2021-08-30 13:52:00 -04:00
Dirk Wetter
8d1e964788
Merge pull request #1969 from jauderho/3.0
Add GH Action to build Docker images (3.0 branch)
2021-08-27 09:32:33 +02:00
Jauder Ho
86543ecab5 Cleanup 2021-08-09 11:59:19 +00:00
Jauder Ho
b04745d960 Use github.repository instead 2021-08-09 11:53:48 +00:00
Jauder Ho
63722babe9 Add missing file 2021-08-09 11:45:33 +00:00
Jauder Ho
1fcac8791a Use GH Action to build Docker images 2021-08-09 11:44:05 +00:00
Dirk Wetter
ea3f089b79
Merge pull request #1967 from jauderho/3.0_gha_build_status
Update Readme.md
2021-08-09 12:50:58 +02:00
Jauder Ho
c00c49bc44
Update Readme.md 2021-08-09 10:48:32 +00:00
Dirk Wetter
8b5f25a113
Merge pull request #1959 from dcooper16/use_all+_3.0
Use all+ in calls to tls_sockets() in 3.0
2021-08-07 16:07:22 +02:00
Dirk Wetter
578d173319
Merge pull request #1957 from drwetter/fix_1956
Redirect debugme() outputs to stderr
2021-08-07 13:55:31 +02:00
David Cooper
ff5b321d38 Use all+ in calls to tls_sockets() in 3.0
get_server_certificate() includes a few calls to tls_sockets() in which the response will be TLS 1.3 and in which the response will be useless if it cannot be decrypted (since the goal is to obtain the server's certificate). So, these calls to tls_sockets() should specify "all+" rather than "all".
2021-08-04 14:31:42 -04:00
Dirk Wetter
65d6c27551 Redirect debugme() outputs to stderr
... to address #1956 and other places.
2021-08-04 19:33:01 +02:00
Dirk Wetter
91523be194
Merge pull request #1949 from drwetter/digrc_3.0
Ignore $HOME/.digrc (3.0)
2021-08-01 20:59:58 +02:00
Dirk Wetter
556208815a Merge remote-tracking branch 'origin/3.0' into digrc_3.0 2021-08-01 20:20:24 +02:00
Dirk Wetter
a52b3b847d
Merge pull request #1954 from drwetter/legacy_stuff
Legacy removals + housekeeping
2021-08-01 20:18:39 +02:00
Dirk Wetter
16c18789cd Legacy removals + housekeeping
* remove relics (CVS)
* add diff to HTML CI run
2021-08-01 18:25:13 +02:00
Dirk Wetter
2f398d3cd0
Merge pull request #1951 from drwetter/fix_1717_3.0
Look-ahead trick for -U --ids-friendly (3.0)
2021-08-01 17:46:58 +02:00
Dirk
e293b7d839 Look-ahead trick for -U --ids-friendly
If the order of the cmdline is '-U --ids-friendly' then we need to make sure we catch --ids-friendly. Normally we do not,
 see #1717. The following statement makes sure. In the do-while + case-esac loop  the check for --ids-friendly will be
executed again, but it does not hurt
2021-07-31 18:47:00 +02:00
Dirk Wetter
0d6ca5c1b8
Merge pull request #1947 from drwetter/noitalics4screen_3.0
Disable ANSI codes for italic when TERM == screen
2021-07-31 15:26:26 +02:00
Dirk
ac2b43170b Move dig down the row of DNS resolvers
... because there's a higher possibility for the stable branch
that people use $HOME/.digrc
2021-07-31 15:22:05 +02:00
Dirk
8d6609f1b9 Ignore $HOME/.digrc
Newer dig versions have an option to ignore $HOME/.digrc, older
don't.

This commit adds a patch checking for the availability of
such an option and uses it by default.

If doesn't exist then still dig is used and can still lead to
wrong output. Unfortunately Debian-based distros are not very
good at this. Debian 10, Ubuntu 18.04 still use dig 9.11, whereas
Opensuse 15.2 has 9.16.

Debian 11 and Ubuntu 20.04 use that too.

Thus to be considered for the stable 3.0-branch: move
dig in the resolver functions a couple of lines down.
2021-07-31 14:37:36 +02:00
Dirk
a67a0200c2 Bump version 3.0.6
There might be 1-2 PRs before 3.0.6 is being released.
2021-07-31 14:12:15 +02:00
Dirk
13303753ff Disable ANSI codes for italic when TERM == screen
... otherwise it is being printed in reverse, see #1928.
Same as #1946 but for the 3.0 branch.
2021-07-31 13:22:47 +02:00
Dirk Wetter
5d4945819a
Merge pull request #1944 from drwetter/docker_3.0
Docker updates
2021-07-30 17:36:20 +02:00
Dirk Wetter
4e8dd46815 Update description
* tar.gz is now from testssl.sh
    * git clone refers to 3.0 instead of 3.1dev
2021-07-30 17:34:56 +02:00
Dirk Wetter
6ffbf1bfa4 Update description
* tar.gz is now from testssl.sh
* git clone refers to 3.0 instead of 3.1dev
2021-07-30 17:33:08 +02:00
Dirk Wetter
5df1a2e7b9 Upgrade to alpine 3.12
... as 3.11 is in a couple of months EOL .

I do not expect difficulties as we run 3.12 already in 3.1dev.
2021-07-30 17:23:51 +02:00