gnutls_privkey_generate man page

gnutls_privkey_generate — API function

Synopsis

#include <gnutls/abstract.h>

int gnutls_privkey_generate(gnutls_privkey_t pkey, gnutls_pk_algorithm_t algo, unsigned int bits, unsigned int flags);

Arguments

gnutls_privkey_t pkey
An initialized private key
gnutls_pk_algorithm_t algo
is one of the algorithms in gnutls_pk_algorithm_t.
unsigned int bits
the size of the parameters to generate
unsigned int flags
Must be zero or flags from gnutls_privkey_flags_t.

Description

This function will generate a random private key. Note that this function must be called on an empty private key. The flag GNUTLS_PRIVKEY_FLAG_PROVABLE instructs the key generation process to use algorithms which generate provable parameters out of a seed.

Note that when generating an elliptic curve key, the curve can be substituted in the place of the bits parameter using the GNUTLS_CURVE_TO_BITS() macro. The input to the macro is any curve from gnutls_ecc_curve_t.

For DSA keys, if the subgroup size needs to be specified check the GNUTLS_SUBGROUP_TO_BITS() macro.

It is recommended to do not set the number of bits directly, use gnutls_sec_param_to_pk_bits() instead .

Returns

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

Since

3.3.0

Reporting Bugs

Report bugs to <bugs@gnutls.org>.
Home page: http://www.gnutls.org

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

http://www.gnutls.org/manual/

Info

3.5.5 gnutls gnutls