gnutls_dh_params_generate2 man page

gnutls_dh_params_generate2 — API function


#include <gnutls/gnutls.h>

int gnutls_dh_params_generate2(gnutls_dh_params_t dparams, unsigned int bits);


gnutls_dh_params_t dparams

The parameters

unsigned int bits

is the prime's number of bits


This function will generate a new pair of prime and generator for use in the Diffie-Hellman key exchange. This may take long time.

It is recommended not to set the number of bits directly, but  use gnutls_sec_param_to_pk_bits() instead. Also note that the DH parameters are only useful to servers. Since clients use the parameters sent by the server, it's of no use to call this in client side.

The parameters generated are of the DSA form. It also is possible to generate provable parameters (following the Shawe-Taylor algorithm), using gnutls_x509_privkey_generate2() with DSA option and the GNUTLS_PRIVKEY_FLAG_PROVABLE flag set. These can the be imported with gnutls_dh_params_import_dsa().

It is no longer recommended for applications to generate parameters. See the "Parameter generation" section in the manual.


On success, GNUTLS_E_SUCCESS (0) is returned, otherwise a negative error code is returned.

Reporting Bugs

Report bugs to <>.
Home page:

See Also

The full documentation for gnutls is maintained as a Texinfo manual. If the /usr/share/doc/gnutls/ directory does not contain the HTML form visit


3.5.9 gnutls