| NAME | SYNOPSIS | ARGUMENTS | DESCRIPTION | RETURNS | SINCE | REPORTING BUGS | COPYRIGHT | SEE ALSO | COLOPHON | |
|  | 
gnutls_pkcs11...vkey_generate3(3) gnutlsgnutls_pkcs11...vkey_generate3(3)
       gnutls_pkcs11_privkey_generate3 - API function
       #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);
       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
       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.
       On success, GNUTLS_E_SUCCESS (0) is returned, otherwise a negative
       error value.
       3.4.0
       Report bugs to <bugs@gnutls.org>.
       Home page: https://www.gnutls.org
       Copyright © 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 notice and this notice are preserved.
       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
       https://www.gnutls.org/manual/
       This page is part of the GnuTLS (GnuTLS Transport Layer Security
       Library) project.  Information about the project can be found at
       ⟨http://www.gnutls.org/⟩.  If you have a bug report for this
       manual page, send it to bugs@gnutls.org.  This page was obtained
       from the tarball fetched from
       ⟨https://www.gnupg.org/ftp/gcrypt/gnutls/⟩ on 2025-08-11.  If you
       discover any rendering problems in this HTML version of the page,
       or you believe there is a better or more up-to-date source for the
       page, or you have corrections or improvements to the information
       in this COLOPHON (which is not part of the original manual page),
       send a mail to man-pages@man7.org
gnutls                            3.8.10gnutls_pkcs11...vkey_generate3(3)