gnutls_credentials_set — API function


#include <gnutls/gnutls.h>
int gnutls_credentials_set( gnutls_session_t session,
  gnutls_credentials_type_t type,
  void * cred);


gnutls_session_t session

is a gnutls_session_t structure.

gnutls_credentials_type_t type

is the type of the credentials

void * cred

is a pointer to a structure.


Sets the needed credentials for the specified type. Eg 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).

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().

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.


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


Report bugs to <>.

General guidelines for reporting bugs:

GnuTLS home page:


The full documentation for gnutls is maintained as a Texinfo manual. If the info and gnutls programs are properly installed at your site, the command

info gnutls

should give you access to the complete manual. As an alternative you may obtain the manual from:


Copyright © 2001-2013 Free Software Foundation, Inc..

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.