gnutls_x509_privkey_generate(3)

gnutls_x509_privkey_generate3

Api function

Usage

#include <gnutls/x509.h>

int gnutls_x509_privkey_generate(gnutls_x509_privkey_t key, gnutls_pk_algorithm_t algo, unsigned int bits, unsigned int flags);

Arguments

gnutls_x509_privkey_t key

an initialized 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.

Overview

This function will generate a random private key. Note that this function must be called on an initialized private key.

The flag GNUTLS_PRIVKEY_FLAG_PROVABLE instructs the key generation process to use algorithms like Shawe-Taylor (from FIPS PUB186-4) which generate provable parameters out of a seed for RSA and DSA keys. See gnutls_x509_privkey_generate2() for more information.

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 .

See also gnutls_privkey_generate(), gnutls_x509_privkey_generate2().

Returns

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

Releases

10 releases since Debian 4.0 (Etch); the text changed 9 times.

  1. 4.0
  2. 5.0
  3. 6.0
  4. 8
  5. 9
  6. 10
  7. 11
  8. 12
  9. 13
  10. Arch

Reporting bugs

Report bugs to <[email protected]>.
Home page: https://www.gnutls.org

From gnutls 3.8.13-3 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.