gnutls_privkey_import_ext4(3) — Linux manual page

NAME | SYNOPSIS | ARGUMENTS | DESCRIPTION | RETURNS | SINCE | REPORTING BUGS | COPYRIGHT | SEE ALSO | COLOPHON

gnutls_privkey_import_ext4(3)    gnutls    gnutls_privkey_import_ext4(3)

NAME         top

       gnutls_privkey_import_ext4 - API function

SYNOPSIS         top

       #include <gnutls/abstract.h>

       int gnutls_privkey_import_ext4(gnutls_privkey_t pkey, void *
       userdata, gnutls_privkey_sign_data_func sign_data_fn,
       gnutls_privkey_sign_hash_func sign_hash_fn,
       gnutls_privkey_decrypt_func decrypt_fn,
       gnutls_privkey_deinit_func deinit_fn, gnutls_privkey_info_func
       info_fn, unsigned int flags);

ARGUMENTS         top

       gnutls_privkey_t pkey
                   The private key

       void * userdata
                   private data to be provided to the callbacks

       gnutls_privkey_sign_data_func sign_data_fn
                   callback for signature operations (may be NULL)

       gnutls_privkey_sign_hash_func sign_hash_fn
                   callback for signature operations (may be NULL)

       gnutls_privkey_decrypt_func decrypt_fn
                   callback for decryption operations (may be NULL)

       gnutls_privkey_deinit_func deinit_fn
                   a deinitialization function

       gnutls_privkey_info_func info_fn
                   returns info about the public key algorithm (should
                   not be NULL)

       unsigned int flags
                   Flags for the import

DESCRIPTION         top

       This function will associate the given callbacks with the
       gnutls_privkey_t type. At least one of the callbacks must be
       non-null. If a deinitialization function is provided then flags
       is assumed to contain GNUTLS_PRIVKEY_IMPORT_AUTO_RELEASE.

       Note that in contrast with the signing function of
       gnutls_privkey_import_ext3(), the signing functions provided to
       this function take explicitly the signature algorithm as
       parameter and different functions are provided to sign the data
       and hashes.

       The  sign_hash_fn is to be called to sign pre-hashed data. The
       input to the callback is the output of the hash (such as SHA256)
       corresponding to the signature algorithm. For RSA PKCS1
       signatures, the signature algorithm can be set to
       GNUTLS_SIGN_RSA_RAW, and in that case the data should be handled
       as if they were an RSA PKCS1 DigestInfo structure.

       The  sign_data_fn is to be called to sign data. The input data
       will be he data to be signed (and hashed), with the provided
       signature algorithm. This function is to be used for signature
       algorithms like Ed25519 which cannot take pre-hashed data as
       input.

       When both  sign_data_fn and  sign_hash_fn functions are provided
       they must be able to operate on all the supported signature
       algorithms, unless prohibited by the type of the algorithm (e.g.,
       as with Ed25519).

       The  info_fn must provide information on the signature algorithms
       supported by this private key, and should support the flags
       GNUTLS_PRIVKEY_INFO_PK_ALGO, GNUTLS_PRIVKEY_INFO_HAVE_SIGN_ALGO
       and GNUTLS_PRIVKEY_INFO_PK_ALGO_BITS.  It must return -1 on
       unknown flags.

RETURNS         top

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

SINCE         top

       3.6.0

REPORTING BUGS         top

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

COPYRIGHT         top

       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.

SEE ALSO         top

       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/

COLOPHON         top

       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 gnutls-3.8.2.tar.xz fetched from
       ⟨http://www.gnutls.org/download.html⟩ on 2023-12-22.  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.2    gnutls_privkey_import_ext4(3)