---
name: "gnutls_x509_crq_privkey_sign"
section: "3"
platform: "linux"
package: "gnutls"
version: "3.8.13-3"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/gnutls_x509_crq_privkey_sign"
---

# gnutls\_x509\_crq\_privkey\_sign(3)

API function

## NAME

gnutls\_x509\_crq\_privkey\_sign - API function

## SYNOPSIS

**#include \<gnutls/abstract.h\>**

**int gnutls\_x509\_crq\_privkey\_sign(gnutls\_x509\_crq\_t** *crq***, gnutls\_privkey\_t** *key***, gnutls\_digest\_algorithm\_t** *dig***, unsigned int** *flags***);**

## ARGUMENTS

- gnutls\_x509\_crq\_t crq

  should contain a **gnutls\_x509\_crq\_t** type

- gnutls\_privkey\_t key

  holds a private key

- gnutls\_digest\_algorithm\_t dig

  The message digest to use, i.e., **GNUTLS\_DIG\_SHA1**

- unsigned int flags

  must be 0

## DESCRIPTION

This function will sign the certificate request with a private key. This must be the same key as the one used in **gnutls\_x509\_crt\_set\_key()** since a certificate request is self signed.

This must be the last step in a certificate request generation since all the previously set parameters are now signed.

A known limitation of this function is, that a newly-signed request will not be fully functional (e.g., for signature verification), until it is exported an re-imported.

After GnuTLS 3.6.1 the value of  *dig* may be **GNUTLS\_DIG\_UNKNOWN**, and in that case, a suitable but reasonable for the key algorithm will be selected.

## RETURNS

**GNUTLS\_E\_SUCCESS** on success, otherwise a negative error code. **GNUTLS\_E\_ASN1\_VALUE\_NOT\_FOUND** is returned if you didn't set all information in the certificate request (e.g., the version using **gnutls\_x509\_crq\_set\_version()**).

## SINCE

2\.12.0

## REPORTING BUGS

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

## COPYRIGHT

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

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/
