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
Copy file name to clipboardexpand all lines: doc/configuration/configuration-files.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -63,8 +63,8 @@ By default only the following applications can be found there:
63
63
64
64
TLS is configured in one of two ways: some modules need a private key and certificate (chain) in __separate__ files, while others need both in a __single__ file. This is because recent additions use OTP's `ssl` library, while older modules use `p1_tls`, respectively.
65
65
66
-
* Client-to-server connections need both in the __same__`.pem` file
67
66
* Server-to-server connections need both in the __same__`.pem` file
67
+
* Client-to-server connections need them in __separate__ files, unless `fast_tls` is used
68
68
* BOSH, WebSockets and REST APIs need them in __separate__ files
69
69
70
70
In order to create private key & certificate bundle, you may simply concatenate them.
Copy file name to clipboardexpand all lines: doc/listeners/listen-c2s.md
+14-2
Original file line number
Diff line number
Diff line change
@@ -89,10 +89,12 @@ This option determines how clients are supposed to set up the TLS encryption:
89
89
90
90
### `listen.c2s.tls.module`
91
91
***Syntax:** string, one of `"just_tls"`, `"fast_tls"`
92
-
***Default:**`"fast_tls"`
92
+
***Default:**`"just_tls"`
93
93
***Example:**`tls.module = "just_tls"`
94
94
95
-
By default, the TLS library used for C2S connections is `fast_tls`, which uses OpenSSL-based NIFs. It is possible to change it to `just_tls` - Erlang TLS implementation provided by OTP. Some TLS-related options described here have different formats for these two libraries.
95
+
By default, the TLS library used for C2S connections is `just_tls` - Erlang TLS implementation provided by OTP.
96
+
Usage of `fast_tls`, which uses OpenSSL-based NIFs for C2S is deprecated, however it is still possible to use this option.
97
+
Some TLS-related options described here have different formats for these two libraries.
96
98
97
99
### `listen.c2s.tls.verify_mode`
98
100
***Syntax:** string, one of `"peer"`, `"selfsigned_peer"`, `"none"`
@@ -162,6 +164,16 @@ Password to the X509 PEM file with the private key.
162
164
***Default:**`true`
163
165
***Example:**`tls.disconnect_on_failure = false`
164
166
167
+
This option specifies what happens when client certificate is verified during TLS handshake.
168
+
It therefore only applies when client certificate verification is enabled, that is `tls.verify_mode` is set to `"peer"` or `"selfsigned_peer"`.
169
+
170
+
When set to `true`, client verification is performed during TLS handshake and in case of error the connection is aborted.
171
+
Additionally empty client certificate is treated as an error.
172
+
173
+
When set to `false`, TLS handshake will succeed even if there were errors in client certificate verification.
174
+
This allows to use other methods of authentication (like SASL) later as part of XMPP stream.
175
+
The above behaviour is the same as default `fast_tls` behaviour (not aborting TLS connection on verification errors).
176
+
165
177
### `listen.c2s.tls.versions` - only for `just_tls`
166
178
***Syntax:** array of strings
167
179
***Default:** not set, all supported versions are accepted
0 commit comments