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!

Reply via email to