---
name: "gnutls_pkcs7_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_pkcs7_sign"
---

# gnutls\_pkcs7\_sign(3)

API function

## NAME

gnutls\_pkcs7\_sign - API function

## SYNOPSIS

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

**int gnutls\_pkcs7\_sign(gnutls\_pkcs7\_t** *pkcs7***, gnutls\_x509\_crt\_t** *signer***, gnutls\_privkey\_t** *signer\_key***, const gnutls\_datum\_t \*** *data***, gnutls\_pkcs7\_attrs\_t** *signed\_attrs***, gnutls\_pkcs7\_attrs\_t** *unsigned\_attrs***, gnutls\_digest\_algorithm\_t** *dig***, unsigned** *flags***);**

## ARGUMENTS

- gnutls\_pkcs7\_t pkcs7

  should contain a **gnutls\_pkcs7\_t** type

- gnutls\_x509\_crt\_t signer

  the certificate to sign the structure

- gnutls\_privkey\_t signer\_key

  the key to sign the structure

- const gnutls\_datum\_t \* data

  The data to be signed or **NULL** if the data are already embedded

- gnutls\_pkcs7\_attrs\_t signed\_attrs

  Any additional attributes to be included in the signed ones (or **NULL**)

- gnutls\_pkcs7\_attrs\_t unsigned\_attrs

  Any additional attributes to be included in the unsigned ones (or **NULL**)

- gnutls\_digest\_algorithm\_t dig

  The digest algorithm to use for signing

- unsigned flags

  Should be zero or one of **GNUTLS\_PKCS7** flags

## DESCRIPTION

This function will add a signature in the provided PKCS **7** structure for the provided data. Multiple signatures can be made with different signers.

The available flags are: **GNUTLS\_PKCS7\_EMBED\_DATA**, **GNUTLS\_PKCS7\_INCLUDE\_TIME**, **GNUTLS\_PKCS7\_INCLUDE\_CERT**, and **GNUTLS\_PKCS7\_WRITE\_SPKI**. They are explained in the **gnutls\_pkcs7\_sign\_flags** definition.

## RETURNS

On success, **GNUTLS\_E\_SUCCESS** (0) is returned, otherwise a negative error value.

## SINCE

3\.4.2

## 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/
