@@ -926,10 +926,10 @@ added: v0.11.13
926926 * Note* : [ ` tls.createServer() ` ] [ ] sets the default value to ` true ` , other
927927 APIs that create secure contexts leave it unset.
928928 * ` 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.
933933 * ` dhparam ` {string|Buffer} Diffie Hellman parameters, required for
934934 [ Perfect Forward Secrecy] [ ] . Use ` openssl dhparam ` to create the parameters.
935935 The key length must be greater than or equal to 1024 bits, otherwise an
@@ -1077,6 +1077,13 @@ For example:
10771077console .log (tls .getCiphers ()); // ['AES128-SHA', 'AES256-SHA', ...]
10781078```
10791079
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+
10801087## Deprecated APIs
10811088
10821089### Class: CryptoStream
@@ -1184,32 +1191,35 @@ secure_socket = tls.TLSSocket(socket, options);
11841191
11851192where ` secure_socket ` has the same API as ` pair.cleartext ` .
11861193
1187- [ OpenSSL cipher list format documentation ] : https://www.openssl.org/docs/man1.0.2/apps/ciphers.html#CIPHER-LIST-FORMAT
11881194[ 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
12071195[ DHE ] : https://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange
12081196[ 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
12101199[ 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
12121207[ 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
12131216[ `tls.TLSSocket.getPeerCertificate()` ] : #tls_tlssocket_getpeercertificate_detailed
1214- [ `tls.createSecureContext() ` ] : #tls_tls_createsecurecontext_options
1217+ [ `tls.TLSSocket ` ] : #tls_class_tls_tlssocket
12151218[ `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