You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Catch is when you run without image tags you need to catch the ID when building
10
+
11
+
```
12
+
[..]
13
+
---> 889fa2f99933
14
+
Successfully built 889fa2f99933
15
+
```
16
+
17
+
More comfortable is
2
18
3
-
(in git directory):
4
19
```
5
20
docker build -t mytestssl .
6
21
docker run --rm -t mytestssl example.com
@@ -13,22 +28,22 @@ docker run -t mytestssl --help
13
28
docker run --rm -t mytestssl -p --header example.com
14
29
```
15
30
16
-
or pull the image from dockerhub and run:
31
+
### From dockerhub
32
+
33
+
You can pull the image from dockerhub and run:
17
34
18
35
```
19
-
docker run --rm -t drwetter/testssl.sh --pfs example.com
36
+
docker run --rm -t drwetter/testssl.sh --fs example.com
20
37
```
21
38
22
-
Tags supported are: ``latest``, ``stable`` which _for now_are all the same and point to ``3.0``.
39
+
Supported tages are: ``3.1dev`` and ``latest`, which are the same, i.e. the rolling release. ``3.0`` is the latest stable version from git which might have a few improvements (see git log) over the released version 3.0.X.
23
40
24
41
``docker run --rm -t drwetter/testssl.sh:stable example.com``.
25
42
26
-
And for the indomitable users who prefer to run old stuff you can use the tag ``2.9.5``. Please note ``2.9dev`` should not be used anymore.
27
-
28
-
Keep in mind that any output file (--log, --html, --json etc.) will be created in the container. If you wish to have this created in a local directory you can mount a volume into the container and change the output prefix where the container user has write access to, e.g.:
43
+
Keep in mind that any output file (--log, --html, --json etc.) will be created within the container. If you wish to have this created in a local directory on your host you can mount a volume into the container and change the output prefix where the container user has write access to, e.g.:
29
44
30
45
```
31
46
docker run --rm -t -v /tmp:/data drwetter/testssl.sh --htmlfile /data/ example.com
32
47
```
33
48
34
-
which writes the output to ``/tmp/example.com_p443-<date>-<time>.html.`` The uid/gid is the one from the docker user but normally the file is 644. testssl.sh's docker container uses a non-root user (usually with user/groupid 1000:1000).
49
+
which writes the HTML output to ``/tmp/example.com_p443-<date>-<time>.html.`` The uid/gid is the one from the docker user. Normally the file is 644. testssl.sh's docker container uses a non-root user (usually with user/groupid 1000:1000).
Think of 3.1dev like a rolling release, see below. For the stable version help yourself by downloading the [ZIP](https://github.com/drwetter/testssl.sh/archive/3.0.2.zip) or [tar.gz](https://github.com/drwetter/testssl.sh/archive/3.0.2.zip) archive. Just ``cd`` to the directory created (=INSTALLDIR) and run it off there.
56
+
Think of 3.1dev like a rolling release, see below. For the stable version help yourself by downloading the [ZIP](https://codeload.github.com/drwetter/testssl.sh/zip/3.0.4) or [tar.gz](https://codeload.github.com/drwetter/testssl.sh/tar.gz/3.0.4) archive. Just ``cd`` to the directory created (=INSTALLDIR) and run it off there.
57
57
58
58
#### Docker
59
59
60
-
Testssl.sh has minimal requirements. As stated you don't have to install or build anything. You can just run it from the pulled/cloned directory. Still if you don't want to pull the github repo to your directory of choice you can pull a container from dockerhub and run it:
60
+
Testssl.sh has minimal requirements. As stated you don't have to install or build anything. You can just run it from the pulled/cloned directory. Still if you don't want to pull the github repo to your directory of choice you can pull a container from dockerhub and run it:
61
61
62
62
```
63
-
docker run --rm -ti drwetter/testssl.sh:3.1dev <your_cmd_line>
63
+
docker run --rm -ti drwetter/testssl.sh <your_cmd_line>
64
64
```
65
65
66
66
Or if you have cloned this repo you also can just ``cd`` to the INSTALLDIR and run
followed by ``docker run -ti <ID> <your_cmd_line>`` where ``ID`` is the identifier in the last line from the build command like
71
+
For more please consult [Dockerfile.md](https://github.com/drwetter/testssl.sh/blob/3.1dev/Dockerfile.md).
72
72
73
-
```
74
-
---> 889fa2f99933
75
-
Successfully built 889fa2f99933
76
-
```
77
73
78
74
### Status
79
75
80
-
We're currently in the development phase, version 3.1dev. 3.1dev will eventually become 3.2. Bigger features are developed in a separate branch before merged into 3.1dev to avoid hiccups or inconsistencies. Albeit we try to keep 3.1dev as solid as possible things will certainly change in 3.1dev. So if you need stability the 3.0 branch is better for you. Think of the 3.1dev branch like a rolling release.
76
+
We're currently in the development phase, version 3.1dev. 3.1dev will eventually become 3.2. Bigger features are developed in a separate branch before merged into 3.1dev to avoid hiccups or inconsistencies. Albeit we try to keep 3.1dev as solid as possible things will certainly change in 3.1dev. Think of the 3.1dev branch like a rolling release. So if you need stability the 3.0 branch is better for you.
77
+
78
+
Version 3.0.X receives bugfixes, labeled as 3.0.1, 3.0.2 and so on. This will happen until 3.2 is released.
81
79
82
-
Support for 2.9.5 has been dropped. Supported is 3.0.x only.
80
+
Support for 2.9.5 has been dropped. Supported is >= 3.0.x only.
83
81
84
82
### Documentation
85
83
@@ -90,7 +88,7 @@ Support for 2.9.5 has been dropped. Supported is 3.0.x only.
90
88
91
89
### Contributing
92
90
93
-
Contributions are welcome! See [CONTRIBUTING.md](https://github.com/drwetter/testssl.sh/blob/3.0/CONTRIBUTING.md) for details.
91
+
Contributions are welcome! See [CONTRIBUTING.md](https://github.com/drwetter/testssl.sh/blob/3.1dev/CONTRIBUTING.md) for details. Please also have a look at the [Coding Convention](https://github.com/drwetter/testssl.sh/blob/3.1dev/Coding_Convention.md}.
Copy file name to clipboardExpand all lines: doc/testssl.1
+3Lines changed: 3 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -136,6 +136,9 @@ Please note that \fBfname\fR has to be in Unix format\. DOS carriage returns won
136
136
.P
137
137
\fB\-\-basicauth<user:pass>\fR This can be set to provide HTTP basic auth credentials which are used during checks for security headers\. BASICAUTH is the ENV variable you can use instead\.
138
138
.
139
+
.P
140
+
\fB\-\-reqheader<header>\fR This can be used to add additional HTTP request headers in the correct format \fBHeadername:headercontent\fR\. This parameter can be called multiple times if required\. For example: \fB\-\-reqheader\'Proxy\-Authorization:BasicdGVzdHNzbDpydWxlcw==\'\-\-reqheader\'ClientID:0xDEADBEAF\'\fR\. REQHEADER is the corresponding environment variable\.
141
+
.
139
142
.SS "SPECIAL INVOCATIONS"
140
143
\fB\-t<protocol>,\-\-starttls<protocol>\fR does a default run against a STARTTLS enabled \fBprotocol\fR\.\fBprotocol\fR must be one of \fBftp\fR, \fBsmtp\fR, \fBpop3\fR, \fBimap\fR, \fBxmpp\fR, \fBxmpp-server\fR, \fBtelnet\fR, \fBldap\fR, \fBirc\fR, \fBlmtp\fR, \fBnntp\fR, \fBpostgres\fR, \fBmysql\fR\. For the latter four you need e\.g\. the supplied OpenSSL or OpenSSL version 1\.1\.1\. Please note: MongoDB doesn\'t offer a STARTTLS connection, LDAP currently only works with \fB\-\-ssl\-native\fR\.\fBtelnet\fR and \fBirc\fR is WIP\.
Copy file name to clipboardExpand all lines: doc/testssl.1.md
+2Lines changed: 2 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -110,6 +110,8 @@ The same can be achieved by setting the environment variable `WARNINGS`.
110
110
111
111
`--basicauth <user:pass>` This can be set to provide HTTP basic auth credentials which are used during checks for security headers. BASICAUTH is the ENV variable you can use instead.
112
112
113
+
`--reqheader <header>` This can be used to add additional HTTP request headers in the correct format `Headername: headercontent`. This parameter can be called multiple times if required. For example: `--reqheader 'Proxy-Authorization: Basic dGVzdHNzbDpydWxlcw==' --reqheader 'ClientID: 0xDEADBEAF'`. REQHEADER is the corresponding environment variable.
Copy file name to clipboardExpand all lines: etc/client-simulation.wiresharked.md
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -14,7 +14,7 @@ The whole process is done manually.
14
14
* Retrieve "handshakebytes" by marking the Record Layer --> Copy --> As a hex stream.
15
15
* Figure out "protos" and "tlsvers" by looking at the supported_versions TLS extension (43=0x002b). May work only on modern clients. Be careful as some do not list all TLS versions here (OpenSSL 1.1.1 lists only TLS 1.2/1.3 here)
16
16
* Adjust "lowest_protocol" and "highest_protocol" accordingly.
17
-
*Get "curves" from at the supported groups TLS extension 10 = 0x00a. Omit any GREASE.
17
+
*For "curves" mark the supported groups TLS extension --> Copy --> As a hex stream, remove any leading GREASE ciphers (?a?a) and supply it to `~/utils/hexstream2curves.sh`
18
18
* Retrieve "alpn" by looking at the alpn TLS extension 16 (=0x0010).
19
19
* Review TLS extension 13 (=0x000d) whether any SHA1 signature algorithm is listed. If not "requiresSha2" is true
20
20
* Leave "maxDhBits"/"minDhBits" and "minRsaBits"/"maxRsaBits" at -1, unless you know for sure what the client can handle
0 commit comments