---
name: "gnutls_credentials_set"
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_credentials_set"
---

# gnutls\_credentials\_set(3)

API function

## NAME

gnutls\_credentials\_set - API function

## SYNOPSIS

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

**int gnutls\_credentials\_set(gnutls\_session\_t** *session***, gnutls\_credentials\_type\_t** *type***, void \*** *cred***);**

## ARGUMENTS

- gnutls\_session\_t session

  is a **gnutls\_session\_t** type.

- gnutls\_credentials\_type\_t type

  is the type of the credentials

- void \* cred

  the credentials to set

## DESCRIPTION

Sets the needed credentials for the specified type.  E.g. username, password - or public and private keys etc.  The  *cred* parameter is a structure that depends on the specified  *type* and on the current session (client or server). Only a single  *cred* may be set for each different  *type* , subsequent calls with the same  *type* will replace the previously set credentials.

In order to minimize memory usage, and share credentials between several threads gnutls keeps a pointer to  *cred* , and not the whole cred structure.  Thus you will have to keep the structure allocated until you call **gnutls\_deinit()**, or a future call of **gnutls\_credentials\_set()** with the same  *type* replaces the  *cred* structure.

For **GNUTLS\_CRD\_ANON**,  *cred* should be **gnutls\_anon\_client\_credentials\_t** in case of a client.  In case of a server it should be **gnutls\_anon\_server\_credentials\_t**.

For **GNUTLS\_CRD\_SRP**,  *cred* should be **gnutls\_srp\_client\_credentials\_t** in case of a client, and **gnutls\_srp\_server\_credentials\_t**, in case of a server.

For **GNUTLS\_CRD\_CERTIFICATE**,  *cred* should be **gnutls\_certificate\_credentials\_t**.

## RETURNS

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

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