gnutls_privkey_sign_hash(3) — Linux manual page


gnutls_privkey_sign_hash(3)      gnutls      gnutls_privkey_sign_hash(3)

NAME         top

       gnutls_privkey_sign_hash - API function

SYNOPSIS         top

       #include <gnutls/abstract.h>

       int gnutls_privkey_sign_hash(gnutls_privkey_t signer,
       gnutls_digest_algorithm_t hash_algo, unsigned int flags, const
       gnutls_datum_t * hash_data, gnutls_datum_t * signature);

ARGUMENTS         top

       gnutls_privkey_t signer
                   Holds the signer's key

       gnutls_digest_algorithm_t hash_algo
                   The hash algorithm used

       unsigned int flags
                   Zero or one of gnutls_privkey_flags_t

       const gnutls_datum_t * hash_data
                   holds the data to be signed

       gnutls_datum_t * signature
                   will contain newly allocated signature

DESCRIPTION         top

       This function will sign the given hashed data using a signature
       algorithm supported by the private key. Signature algorithms are
       always used together with a hash functions.  Different hash
       functions may be used for the RSA algorithm, but only SHA-XXX for
       the DSA keys.

       You may use gnutls_pubkey_get_preferred_hash_algorithm() to
       determine the hash algorithm.

       The flags may be GNUTLS_PRIVKEY_SIGN_FLAG_TLS1_RSA or
       GNUTLS_PRIVKEY_SIGN_FLAG_RSA_PSS.  In the former case this
       function will ignore  hash_algo and perform a raw PKCS1
       signature, and in the latter an RSA-PSS signature will be

       Note that, not all algorithm support signing already hashed data.
       When signing with Ed25519, gnutls_privkey_sign_data() should be

RETURNS         top

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

SINCE         top


REPORTING BUGS         top

       Report bugs to <>.
       Home page:

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

COLOPHON         top

       This page is part of the GnuTLS (GnuTLS Transport Layer Security
       Library) project.  Information about the project can be found at
       ⟨⟩.  If you have a bug report for this
       manual page, send it to  This page was obtained
       from the tarball gnutls-3.8.2.tar.xz fetched from
       ⟨⟩ 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

gnutls                            3.8.2      gnutls_privkey_sign_hash(3)