gnutls_pkcs11_privkey_generate3(3)

gnutls_pkcs11_privkey_generate33

Api function

Usage

#include <gnutls/pkcs11.h>

int gnutls_pkcs11_privkey_generate3(const char * url, gnutls_pk_algorithm_t pk, unsigned int bits, const char * label, const gnutls_datum_t * cid, gnutls_x509_crt_fmt_t fmt, gnutls_datum_t * pubkey, unsigned int key_usage, unsigned int flags);

Arguments

const char * url

a token URL

gnutls_pk_algorithm_t pk

the public key algorithm

unsigned int bits

the security bits

const char * label

a label

const gnutls_datum_t * cid

The CKA_ID to use for the new object

gnutls_x509_crt_fmt_t fmt

the format of output params. PEM or DER

gnutls_datum_t * pubkey

will hold the public key (may be NULL)

unsigned int key_usage

One of GNUTLS_KEY_*

unsigned int flags

zero or an OR'ed sequence of GNUTLS_PKCS11_OBJ_FLAGs

Overview

This function will generate a private key in the specified by the url token. The private key will be generate within the token and will not be exportable. This function will store the DER-encoded public key in the SubjectPublicKeyInfo format in pubkey . The pubkey should be deinitialized using gnutls_free().

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.

Since 3.6.3 the objects are marked as sensitive by default unless GNUTLS_PKCS11_OBJ_FLAG_MARK_NOT_SENSITIVE is specified.

Returns

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

Since

3.4.0

Releases

6 releases since Debian 9 (Stretch); the text changed 5 times.

  1. 9
  2. 10
  3. 11
  4. 12
  5. 13
  6. 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.