Do you mean SSL/TLS the protocols and OpenSSL the implementation?
For SSL when an ADH or EDH aka DHE suite is negotiated, the server must send DH parameters and its (nominally one-time) public key, and the client uses or at least matches the parameters and sends its (ditto) public key. Similarly for AECDH or EECDH/ECDHE the server must send an ECC curve and public key and the client uses/checks and sends public key, but for ECC the curve can be and usually(?) is a named curve specified by an OID rather than 'explicit' parameters. Other implementations may have default or auto (EC)DH parameters; OpenSSL library does not. If you are the server and want to support ADH/EDH/DHE or AECDH/EECDH/ECDHE suites, you must configure the respective "tmp_dh" or "tmp_ecdh" before handshake, or configure a callback to select/set it during the handshake (which can set the specific key as well). (For EC, the specified curve must also be acceptable to client(s) per ClientHello extension, which encourages using the callback or choosing a popular curve like P-256.) A server may want to support ADH/EDH/DHE on its own, or because its client(s) want that. For the non-anonymous suites, server must configure a server cert/chain and privatekey before handshake. That is "along with" in the sense that both must be done, but not necessarily at the same place in the code. If you are the client, you do not configure tmp_[ec]dh, and you configure cert/chain and privatekey only if you use client-auth (also called mutual-auth) which is relatively rare. OpenSSL commandline s_server does have defaults, although the default tmp_dh is (still) 512 bits, which is (now) way too small. OTOH it's nominally only a test tool. From: owner-openssl-us...@openssl.org [mailto:owner-openssl-us...@openssl.org] On Behalf Of LN Sent: Thursday, October 24, 2013 08:59 To: openssl-users@openssl.org Subject: OpenSSL and DH parameters Hi, When using SSL is it mandatory to specify along with the certificate (chain) and the private key, also the DH parameters ? What's the use for DH parameters when specified to OpenSSL ? Thank you!