FreeBSD Manual Pages
gnutls_x509_privkey_generate2(3) gnutls gnutls_x509_privkey_generate2(3) NAME gnutls_x509_privkey_generate2 - API function SYNOPSIS #include <gnutls/x509.h> int gnutls_x509_privkey_generate2(gnutls_x509_privkey_t key, gnutls_pk_algorithm_t algo, unsigned int bits, unsigned int flags, const gnutls_keygen_data_st * data, unsigned data_size); ARGUMENTS gnutls_x509_privkey_t key a key gnutls_pk_algorithm_t algo is one of the algorithms in gnutls_pk_algorithm_t. unsigned int bits the size of the modulus unsigned int flags Must be zero or flags from gnutls_privkey_flags_t. const gnutls_keygen_data_st * data Allow specifying gnutls_keygen_data_st types such as the seed to be used. unsigned data_size The number of data available. DESCRIPTION This function will generate a random private key. Note that this func- tion 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. On DSA keys the PQG parameters are generated using the seed, while on RSA the two primes. To specify an explicit seed (by default a random seed is used), use the data with a GNUTLS_KEYGEN_SEED type. Note that when generating an elliptic curve key, the curve can be sub- stituted in the place of the bits parameter using the GNUTLS_CURVE_TO_BITS() macro. To export the generated keys in memory or in files it is recommended to use the PKCS8 form as it can handle all key types, and can store addi- tional parameters such as the seed, in case of provable RSA or DSA keys. Generated keys can be exported in memory using gnutls_privkey_export_x509(), and then with gnutls_x509_privkey_ex- port2_pkcs8(). If key generation is part of your application, avoid setting the number of bits directly, and instead use gnutls_sec_param_to_pk_bits(). That way the generated keys will adapt to the security levels of the under- lying GnuTLS library. See also gnutls_privkey_generate2(). RETURNS On success, GNUTLS_E_SUCCESS (0) is returned, otherwise a negative er- ror value. REPORTING BUGS Report bugs to <bugs@gnutls.org>. Home page: https://www.gnutls.org COPYRIGHT Copyright (C) 2001-2023 Free Software Foundation, Inc., and others. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright no- tice and this notice are preserved. SEE ALSO The full documentation for gnutls is maintained as a Texinfo manual. If the /usr/local/share/doc/gnutls/ directory does not contain the HTML form visit https://www.gnutls.org/manual/ gnutls 3.8.9 gnutls_x509_privkey_generate2(3)
NAME | SYNOPSIS | ARGUMENTS | DESCRIPTION | RETURNS | REPORTING BUGS | COPYRIGHT | SEE ALSO
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=gnutls_x509_privkey_generate2&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>
