gnutls_certificate_set_key — API function


#include <gnutls/abstract.h>
int gnutls_certificate_set_key( gnutls_certificate_credentials_t res,
  const char ** names,
  int names_size,
  gnutls_pcert_st * pcert_list,
  int pcert_list_size,
  gnutls_privkey_t key);


gnutls_certificate_credentials_t res

is a gnutls_certificate_credentials_t structure.

const char ** names

is an array of DNS name of the certificate (NULL if none)

int names_size

holds the size of the names list

gnutls_pcert_st * pcert_list

contains a certificate list (path) for the specified private key

int pcert_list_size

holds the size of the certificate list

gnutls_privkey_t key

is a gnutls_privkey_t key


This function sets a certificate/private key pair in the gnutls_certificate_credentials_t structure. This function may be called more than once, in case multiple keys/certificates exist for the server. For clients that wants to send more than its own end entity certificate (e.g., also an intermediate CA cert) then put the certificate chain in pcert_list .

Note that the pcert_list and key will become part of the credentials structure and must not be deallocated. They will be automatically deallocated when the res structure is deinitialized.


GNUTLS_E_SUCCESS (0) on success, or a negative error code.




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.