On Wed, May 09, 2012, Jan Just Keijser wrote:

> thank you for the quick reply. The code we currently use is very similar:
> 254     nid = OBJ_sn2nid(curve_name);
> 255
> 256     if (nid == 0)
> 257       msg(M_SSLERR, "unknown curve name (%s)", curve_name);
> 258     else
> 259     {
> 260       ecdh = EC_KEY_new_by_curve_name(nid);
> 261       if (ecdh == NULL)
> 262         msg (M_SSLERR, "Unable to create curve (%s)", curve_name);
> 263       else
> 264       {
> 265         const char *sname;
> 266
> 267         if (!SSL_CTX_set_tmp_ecdh(ctx->ctx, ecdh))
> 268           msg (M_SSLERR, "SSL_CTX_set_tmp_ecdh: cannot add curve");
> 269
> 
> this is for the OpenVPN server (listening) process; what we are not
> sure about is whether this is sufficient for a client-server
> architecture: would it be necessary to add different 'ecdh' objects
> for each client (e.g. using the set_tmp_ecdh_callback function)? Or
> is a single 'ecdh' object for the server sufficient?
> 

No code is needed on the client: it uses the parameters the server
specifies.

Steve.
--
Dr Stephen N. Henson. OpenSSL project core developer.
Commercial tech support now available see: http://www.openssl.org
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [email protected]
Automated List Manager                           [email protected]

Reply via email to