@@ -926,10 +926,10 @@ added: v0.11.13
926
926
* Note* : [ ` tls.createServer() ` ] [ ] sets the default value to ` true ` , other
927
927
APIs that create secure contexts leave it unset.
928
928
* ` ecdhCurve ` {string} A string describing a named curve to use for ECDH key
929
- agreement or ` false ` to disable ECDH. Defaults to ` prime256v1 ` (NIST P-256).
930
- Use [ ` crypto.getCurves() ` ] [ ] to obtain a list of available curve names. On
931
- recent releases, ` openssl ecparam -list_curves ` will also display the name
932
- and description of each available elliptic curve.
929
+ agreement or ` false ` to disable ECDH. Defaults to
930
+ [ ` tls.DEFAULT_ECDH_CURVE ` ] . Use [ ` crypto.getCurves() ` ] [ ] to obtain a list
931
+ of available curve names. On recent releases, ` openssl ecparam -list_curves `
932
+ will also display the name and description of each available elliptic curve.
933
933
* ` dhparam ` {string|Buffer} Diffie Hellman parameters, required for
934
934
[ Perfect Forward Secrecy] [ ] . Use ` openssl dhparam ` to create the parameters.
935
935
The key length must be greater than or equal to 1024 bits, otherwise an
@@ -1077,6 +1077,13 @@ For example:
1077
1077
console .log (tls .getCiphers ()); // ['AES128-SHA', 'AES256-SHA', ...]
1078
1078
```
1079
1079
1080
+ ## tls.DEFAULT_ECDH_CURVE
1081
+
1082
+ The default curve name to use for ECDH key agreement in a tls server. The
1083
+ default value is ` 'prime256v1' ` (NIST P-256). Consult [ RFC 4492] and
1084
+ [ FIPS.186-4] for more details.
1085
+
1086
+
1080
1087
## Deprecated APIs
1081
1088
1082
1089
### Class: CryptoStream
@@ -1184,32 +1191,35 @@ secure_socket = tls.TLSSocket(socket, options);
1184
1191
1185
1192
where ` secure_socket ` has the same API as ` pair.cleartext ` .
1186
1193
1187
- [ OpenSSL cipher list format documentation ] : https://www.openssl.org/docs/man1.0.2/apps/ciphers.html#CIPHER-LIST-FORMAT
1188
1194
[ Chrome's 'modern cryptography' setting ] : https://www.chromium.org/Home/chromium-security/education/tls#TOC-Cipher-Suites
1189
- [ OpenSSL Options ] : crypto.html#crypto_openssl_options
1190
- [ modifying the default cipher suite ] : #tls_modifying_the_default_tls_cipher_suite
1191
- [ specific attacks affecting larger AES key sizes ] : https://www.schneier.com/blog/archives/2009/07/another_new_aes.html
1192
- [ `crypto.getCurves()` ] : crypto.html#crypto_crypto_getcurves
1193
- [ `tls.createServer()` ] : #tls_tls_createserver_options_secureconnectionlistener
1194
- [ `tls.createSecurePair()` ] : #tls_tls_createsecurepair_context_isserver_requestcert_rejectunauthorized_options
1195
- [ `tls.TLSSocket` ] : #tls_class_tls_tlssocket
1196
- [ `net.Server` ] : net.html#net_class_net_server
1197
- [ `net.Socket` ] : net.html#net_class_net_socket
1198
- [ `net.Server.address()` ] : net.html#net_server_address
1199
- [ `'secureConnect'` ] : #tls_event_secureconnect
1200
- [ `'secureConnection'` ] : #tls_event_secureconnection
1201
- [ Perfect Forward Secrecy ] : #tls_perfect_forward_secrecy
1202
- [ Stream ] : stream.html#stream_stream
1203
- [ SSL_METHODS ] : https://www.openssl.org/docs/man1.0.2/ssl/ssl.html#DEALING-WITH-PROTOCOL-METHODS
1204
- [ tls.Server ] : #tls_class_tls_server
1205
- [ SSL_CTX_set_timeout ] : https://www.openssl.org/docs/man1.0.2/ssl/SSL_CTX_set_timeout.html
1206
- [ Forward secrecy ] : https://en.wikipedia.org/wiki/Perfect_forward_secrecy
1207
1195
[ DHE ] : https://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange
1208
1196
[ ECDHE ] : https://en.wikipedia.org/wiki/Elliptic_curve_Diffie%E2%80%93Hellman
1209
- [ asn1.js ] : https://npmjs.org/package/asn1.js
1197
+ [ FIPS.186-4 ] : http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-4.pdf
1198
+ [ Forward secrecy ] : https://en.wikipedia.org/wiki/Perfect_forward_secrecy
1210
1199
[ OCSP request ] : https://en.wikipedia.org/wiki/OCSP_stapling
1211
- [ TLS recommendations ] : https://wiki.mozilla.org/Security/Server_Side_TLS
1200
+ [ OpenSSL Options ] : crypto.html#crypto_openssl_options
1201
+ [ OpenSSL cipher list format documentation ] : https://www.openssl.org/docs/man1.0.2/apps/ciphers.html#CIPHER-LIST-FORMAT
1202
+ [ Perfect Forward Secrecy ] : #tls_perfect_forward_secrecy
1203
+ [ RFC 4492 ] : https://www.rfc-editor.org/rfc/rfc4492.txt
1204
+ [ SSL_CTX_set_timeout ] : https://www.openssl.org/docs/man1.0.2/ssl/SSL_CTX_set_timeout.html
1205
+ [ SSL_METHODS ] : https://www.openssl.org/docs/man1.0.2/ssl/ssl.html#DEALING-WITH-PROTOCOL-METHODS
1206
+ [ Stream ] : stream.html#stream_stream
1212
1207
[ TLS Session Tickets ] : https://www.ietf.org/rfc/rfc5077.txt
1208
+ [ TLS recommendations ] : https://wiki.mozilla.org/Security/Server_Side_TLS
1209
+ [ `'secureConnect'` ] : #tls_event_secureconnect
1210
+ [ `'secureConnection'` ] : #tls_event_secureconnection
1211
+ [ `crypto.getCurves()` ] : crypto.html#crypto_crypto_getcurves
1212
+ [ `net.Server.address()` ] : net.html#net_server_address
1213
+ [ `net.Server` ] : net.html#net_class_net_server
1214
+ [ `net.Socket` ] : net.html#net_class_net_socket
1215
+ [ `tls.DEFAULT_ECDH_CURVE` ] : #tls_tls_default_ecdh_curve
1213
1216
[ `tls.TLSSocket.getPeerCertificate()` ] : #tls_tlssocket_getpeercertificate_detailed
1214
- [ `tls.createSecureContext() ` ] : #tls_tls_createsecurecontext_options
1217
+ [ `tls.TLSSocket ` ] : #tls_class_tls_tlssocket
1215
1218
[ `tls.connect()` ] : #tls_tls_connect_options_callback
1219
+ [ `tls.createSecureContext()` ] : #tls_tls_createsecurecontext_options
1220
+ [ `tls.createSecurePair()` ] : #tls_tls_createsecurepair_context_isserver_requestcert_rejectunauthorized_options
1221
+ [ `tls.createServer()` ] : #tls_tls_createserver_options_secureconnectionlistener
1222
+ [ asn1.js ] : https://npmjs.org/package/asn1.js
1223
+ [ modifying the default cipher suite ] : #tls_modifying_the_default_tls_cipher_suite
1224
+ [ specific attacks affecting larger AES key sizes ] : https://www.schneier.com/blog/archives/2009/07/another_new_aes.html
1225
+ [ tls.Server ] : #tls_class_tls_server
0 commit comments