1
0
mirror of https://github.com/drwetter/testssl.sh.git synced 2025-07-18 03:31:58 +02:00
Commit Graph

2869 Commits

Author SHA1 Message Date
c9ec73bce8 Add documentation to
it accepts a directory.

This PR adds documenation for it.
2019-04-25 22:40:32 +02:00
6bd5897c82 Merge pull request from dcooper16/outfile_directory
The -outfile, -oa, -outFile, and -oA options should accept a directory
2019-04-25 22:29:31 +02:00
682537b9f8 Merge pull request from dcooper16/fix1243
Fix 
2019-04-25 22:26:43 +02:00
a1289d1ec3 The -outfile, -oa, -outFile, and -oA options should accept a directory
Currently the -outfile, -oa, -outFile, and -oA assume that <fname> being provided is to be used as a filename, unless it is "auto." However, all of the individual options (e.g., --logfile) allow for a directory name to be provided instead of a file name.

This PR changes the handling of the -outfile, -oa, -outFile, and -oA options so that if a directory name is provided, the files are created in that directory.
2019-04-25 14:55:13 -04:00
66d15c6a03 Fix
This PR fixes  by modifying create_mass_testing_cmdline() to handle the --outfile, -oa, --outFile, and -oA options in the case that the filename provided is not "auto." It also modifies create_mass_testing_cmdline() so that in the case of serial testing -oj and -oJ are treated the same as --jsonfile and --jsonfile-pretty, respectively.
2019-04-25 14:10:09 -04:00
5ba95db0b0 Bump version number to 3.0rc5 3.0rc5 2019-04-25 09:21:23 +02:00
e85c0b12ee Merge pull request from drwetter/chrome74
Update client simulation with Chrome 74
2019-04-25 09:18:42 +02:00
955265afa0 Update to chrome 74 2019-04-25 09:17:23 +02:00
70dab2edc5 Update Dockerfile.md 2019-04-24 19:52:53 +00:00
edcdcc43e9 Polish readme and reflect branch change to 3.0 2019-04-24 21:17:30 +02:00
893cad542d Delete CHANGELOG.stable-releases.txt 2019-04-24 18:44:14 +00:00
378a5b0547 Fold all Changelogs into one file 2019-04-24 20:42:51 +02:00
9599a56a16 Merge pull request from drwetter/more_client_sim
Major upgrade of some client simulations
2019-04-24 08:10:10 +02:00
de0141d967 Copied from readme 2019-04-23 23:14:02 +02:00
80c10f5bb3 Merge branch 'more_client_sim' of github.com:drwetter/testssl.sh into more_client_sim 2019-04-23 21:18:50 +02:00
1edfcbc909 Added client handshakes 2019-04-23 21:18:08 +02:00
e72e7728c7 Renamed to avoid confusion
It needs to be completed from README.md from releases 2.8 on
2019-04-23 21:15:48 +02:00
64c2bcc949 Add Thunderbird 60.6.1 to client simulation 2019-04-23 13:37:50 +02:00
3f99c2d2c8 Add Opera 60 + Chrome 73
Chrome 74 update pending
2019-04-23 11:33:47 +02:00
d2f5c2633c Add a few MS client hellos
* Edge 17 Win 10
* Firefox 66 Win 10

Disable 'Edge 13 Win Phone 10' per default and 'Firefox 62 Win 7'.
2019-04-23 10:32:17 +02:00
950772cb23 Clarify client sim data 2019-04-23 10:26:30 +02:00
31c5107a64 Remove a few redundant quotes in run_client_simulation() 2019-04-20 20:23:50 +02:00
c183c213e5 Add client simulations
.. for Android 8.1 and Firefox 66.

Add ciphersuites to the existing handshakes and update
the documentation accordingly.
2019-04-20 20:21:25 +02:00
5f047db92f Add client simlation data and provide howto
While we are thankful that Ivan Ristic permitted to use the client
data from SSLlabs, it became of bit outdated now (see ). Also
as sslhaf [1] was used, the data comes from HTTP traffic only.

This is a start to address it. It provides data from Android 9
(connecting to the play store, so that it is sure we don't capture
a ClientHello from an application having an own TLS stack.

Also it provides documentation how to grab data yourself, and
provide it back to testssl.sh.

Aim is at least for testssl.sh 3.0 to add Android 8 and OpenSSL 1.1.1 (@drwetter).

My hope others can assist with  Safari on OSX 11 and 12. Java 10 and 11,
and a recent Opera and Edge version. (Firefox and Chrome are out of
date too)

Mail clients to follow later.

[1] https://github.com/ssllabs/sslhaf
2019-04-18 10:06:01 +02:00
e768ab3f7b Remove file as Not needed 2019-04-18 10:04:08 +02:00
9c08a9df8c Merge pull request from drwetter/add_travis_json
clarify failed test, add new test
2019-04-17 09:07:09 +02:00
edcd9d7bd0 clarify failed test, add new test 2019-04-17 09:04:39 +02:00
c74f253b5c Merge pull request from drwetter/docker_minor
Docker minor
2019-04-17 08:16:06 +02:00
d3c43fce2d Make the Dockerfile work again
As a result of  every Linux binary needed was not allowed
to come from busybox. Which caused the Dockerfile in this repo
and the image @ dockerhub to fail.

This PR relaxes that so that busybox binaries which proved to
work can be used. A whitelist was defined.
2019-04-17 08:09:58 +02:00
e4a08b3ed5 Use specific Alpine version
... and not latest which is unspecific. Atm
it's the same
2019-04-17 08:08:12 +02:00
a7e9aa9a7f Merge pull request from drwetter/json_validate
Fix travis
2019-04-15 10:50:55 +02:00
d25aca7ce3 Fix travis
.. add validator in travis.yml
2019-04-15 10:49:36 +02:00
c792372c70 Merge pull request from drwetter/json_validate
PoC added for JSON validation unit test
2019-04-15 10:35:43 +02:00
1d558228b7 PoC added
Current catch: "JSON::Validator" cannot swallow "--json-pretty". Other
validators tried had issues too.

Improvements welcome!

See 
2019-04-15 10:34:03 +02:00
d1e14634bf Merge pull request from drwetter/mx_ip1
make --mx and --ip=one to work together
2019-04-13 18:22:07 +02:00
32b8c70db4 make --mx and --ip=one to work together
which fixes 

Also one cat was removed :-) in sclient_connect_successful as it is faster
2019-04-13 18:18:38 +02:00
044be5b1e2 Merge pull request from drwetter/remove_opera
Remove opera client simulation
2019-04-12 18:19:57 +02:00
ba204047e7 Remove opera client simulation
... as it may indicate this is a recent version
but version 17 is infact 5,5 years old.

If you configure the server side this is misleading!
2019-04-12 18:15:34 +02:00
260051aa80 Merge pull request from dcooper16/shellcheck_SC2128
Fix shellcheck issue SC2128
2019-04-11 18:24:34 +02:00
2f4ce4a276 Fix shellcheck issue SC2128
This PR addresses the following issues raised by shellcheck:

In ../github/testssl_2.9dev_20190409b.sh line 1133:
if [[ "$BASH_VERSINFO" == 3 ]]; then
       ^-- SC2128: Expanding an array without an index only gives the first element.

In ../github/testssl_2.9dev_20190409b.sh line 4301:
          tmpfile_handle $FUNCNAME.dd
                         ^-- SC2128: Expanding an array without an index only gives the first element.

In ../github/testssl_2.9dev_20190409b.sh line 4388:
     tmpfile_handle $FUNCNAME.dd
                    ^-- SC2128: Expanding an array without an index only gives the first element.

In ../github/testssl_2.9dev_20190409b.sh line 4657:
     tmpfile_handle $FUNCNAME$1.txt
                    ^-- SC2128: Expanding an array without an index only gives the first element.

In ../github/testssl_2.9dev_20190409b.sh line 5327:
     tmpfile_handle $FUNCNAME.${debugname}.txt
                    ^-- SC2128: Expanding an array without an index only gives the first element.

In ../github/testssl_2.9dev_20190409b.sh line 5943:
          tmpfile_handle $FUNCNAME.byID.log $tmpfile || \
                         ^-- SC2128: Expanding an array without an index only gives the first element.

In ../github/testssl_2.9dev_20190409b.sh line 5944:
          tmpfile_handle $FUNCNAME.byticket.log $tmpfile
                         ^-- SC2128: Expanding an array without an index only gives the first element.

In ../github/testssl_2.9dev_20190409b.sh line 12410:
     tmpfile_handle $FUNCNAME.dd $SOCK_REPLY_FILE
                    ^-- SC2128: Expanding an array without an index only gives the first element.

In ../github/testssl_2.9dev_20190409b.sh line 13164:
               tmpfile_handle $FUNCNAME.dd
                              ^-- SC2128: Expanding an array without an index only gives the first element.

In ../github/testssl_2.9dev_20190409b.sh line 13284:
     tmpfile_handle $FUNCNAME.dd $SOCK_REPLY_FILE
                    ^-- SC2128: Expanding an array without an index only gives the first element.

In ../github/testssl_2.9dev_20190409b.sh line 13388:
     tmpfile_handle $FUNCNAME.dd $SOCK_REPLY_FILE
                    ^-- SC2128: Expanding an array without an index only gives the first element.
--
In ../github/testssl_2.9dev_20190409b.sh line 13801:
               [[ "$DEBUG" -ge 1 ]] && echo $tls_hello_ascii >$TEMPDIR/$FUNCNAME.tls_hello_ascii${i}.txt
                                                                       ^-- SC2128: Expanding an array without an index only gives the first element.
2019-04-11 12:05:10 -04:00
9d4f7977c0 Fix possible compression method misinterpretation
... introduced in 742e01e7cd

Kudos @dcooper16
2019-04-09 18:45:12 +02:00
ef63fd6a18 Addition to e0f8a2eea6 2019-04-09 12:59:14 +02:00
e0f8a2eea6 Strict check on binaries needed: no busybox
When users try to reinvent the wheel and write an own dockerfile
this PR checks when binaries come from busybox -- as it is the
case with Alpine Linux.
2019-04-09 12:54:40 +02:00
a73fda7cf9 Fix travis
.. see previous commit
2019-04-09 12:47:12 +02:00
e92b7326bc Extra warning for certificates >= 5yrs, italics handling for BSDs
This PR fixes  and emit an extra warning if the certificate
has a lifetime longer or equal of five years which happens often
on appliances with self signed certificates. (CAs do not offer
such a long certificate lifetime.) This was tested under Linux,
FreeBSD and OpenBSD. On the latter however we only check the
years as opposed to other OS where we have a finer granularity
(seconds).

On the screen there's only an output if the lifetime is too long,
using JSON or CSV formats, it is always displayed (ID: cert_validityPeriod).

Also this PR changes the ID cert_expiration_status to cert_expirationStatus.

Older FreeBSD and OpenBSD can't deal with italics characters but it output
the escape codes which could result in a different markup. This PR detects
such OS and just doesn't dsiplay the escape sequence.

Also the manpage is reflecting the change and has updates in the server
defaults and standard cipher checks section.
2019-04-09 11:46:53 +02:00
0e8807217d Fix JSON (pretty) regression
... after introducing pre-check for 128 cipher limit, see .
2019-04-05 21:30:40 +02:00
5b1fdfa675 fix numbering 2019-04-02 09:29:13 +02:00
ff527f524e Safely create the CSVFILE
... before writing to it. (see )
2019-04-01 21:36:00 +02:00
f1c6bc09d5 Merge pull request from dcooper16/fix_1223
Fix 
2019-04-01 20:36:48 +02:00
9d2061fdf9 Fix
This PR fixes  by checking whether the stapled OCSP response from the server is an error message.

Another way to fix  would be to just change line 8510 to:
```
if grep -a "OCSP Response Status" <<< "$ocsp_response_status" | grep -q successful || \
     [[ "$ocsp_response" =~ Responder\ Error: ]]; then 
```
However, I believe this alternative would lead to confusing results, testssl.sh would print

     offered, error querying OCSP responder (tryLater)

I'm not sure whether it makes sense to say "offered" when the stapled response that is provided is just an error message, but I think it is important to make clear that the error response was received from the TLS server, and that it wasn't testssl.sh that tried querying the OCSP responder.
2019-04-01 14:21:45 -04:00