@@ -25,8 +25,10 @@ To create a self-signed certificate with the CSR, do this:
25
25
26
26
Alternatively you can send the CSR to a Certificate Authority for signing.
27
27
28
- (TODO: docs on creating a CA, for now interested users should just look at
29
- ` test/fixtures/keys/Makefile ` in the Node source code)
28
+ For Perfect Forward Secrecy, it is required to generate Diffie-Hellman
29
+ parameters:
30
+
31
+ openssl dhparam -outform PEM -out dhparam.pem 2048
30
32
31
33
To create .pfx or .p12, do this:
32
34
@@ -170,31 +172,20 @@ automatically set as a listener for the [secureConnection][] event. The
170
172
- ` crl ` : Either a string or list of strings of PEM encoded CRLs (Certificate
171
173
Revocation List)
172
174
173
- - ` ciphers ` : A string describing the ciphers to use or exclude.
174
-
175
- To mitigate [ BEAST attacks] it is recommended that you use this option in
176
- conjunction with the ` honorCipherOrder ` option described below to
177
- prioritize the non-CBC cipher.
178
-
179
- Defaults to
180
- ` ECDHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA256:AES128-GCM-SHA256:RC4:HIGH:!MD5:!aNULL ` .
181
- Consult the [ OpenSSL cipher list format documentation] for details
182
- on the format.
183
-
184
- ` ECDHE-RSA-AES128-SHA256 ` , ` DHE-RSA-AES128-SHA256 ` and
185
- ` AES128-GCM-SHA256 ` are TLS v1.2 ciphers and used when node.js is
186
- linked against OpenSSL 1.0.1 or newer, such as the bundled version
187
- of OpenSSL. Note that it is still possible for a TLS v1.2 client
188
- to negotiate a weaker cipher unless ` honorCipherOrder ` is enabled.
175
+ - ` ciphers ` : A string describing the ciphers to use or exclude, separated by
176
+ ` : ` . The default cipher suite is:
189
177
190
- ` RC4 ` is used as a fallback for clients that speak on older version of
191
- the TLS protocol. ` RC4 ` has in recent years come under suspicion and
192
- should be considered compromised for anything that is truly sensitive.
193
- It is speculated that state-level actors possess the ability to break it.
178
+ ECDHE-RSA-AES256-SHA384:DHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA256:
179
+ DHE-RSA-AES256-SHA256:ECDHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA256:
180
+ HIGH:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!SRP:!CAMELLIA
194
181
195
- ** NOTE** : Previous revisions of this section suggested ` AES256-SHA ` as an
196
- acceptable cipher. Unfortunately, ` AES256-SHA ` is a CBC cipher and therefore
197
- susceptible to [ BEAST attacks] . Do * not* use it.
182
+ The default cipher suite prefers ECDHE and DHE ciphers for Perfect Forward
183
+ secrecy, while offering * some* backward compatibility. Old clients which
184
+ rely on insecure and deprecated RC4 or DES-based ciphers (like Internet
185
+ Explorer 6) aren't able to complete the handshake with the default
186
+ configuration. If you absolutely must support these clients, the
187
+ [ TLS recommendations] may offer a compatible cipher suite. For more details
188
+ on the format, see the [ OpenSSL cipher list format documentation] .
198
189
199
190
- ` ecdhCurve ` : A string describing a named curve to use for ECDH key agreement
200
191
or false to disable ECDH.
@@ -212,7 +203,7 @@ automatically set as a listener for the [secureConnection][] event. The
212
203
times out.
213
204
214
205
- ` honorCipherOrder ` : When choosing a cipher, use the server's preferences
215
- instead of the client preferences.
206
+ instead of the client preferences. Default: ` true ` .
216
207
217
208
Although, this option is disabled by default, it is * recommended* that you
218
209
use this option in conjunction with the ` ciphers ` option to mitigate
@@ -853,5 +844,6 @@ The numeric representation of the local port.
853
844
[ ECDHE ] : https://en.wikipedia.org/wiki/Elliptic_curve_Diffie%E2%80%93Hellman
854
845
[ asn1.js ] : http://npmjs.org/package/asn1.js
855
846
[ OCSP request ] : http://en.wikipedia.org/wiki/OCSP_stapling
847
+ [ TLS recommendations ] : https://wiki.mozilla.org/Security/Server_Side_TLS
856
848
[ SSL_CTX_set_options ] : https://www.openssl.org/docs/ssl/SSL_CTX_set_options.html
857
849
[ CVE-2014-3566 ] : https://access.redhat.com/articles/1232123
0 commit comments