gnutls_certificate_get_x509_crt — API function


#include <gnutls/gnutls.h>

int gnutls_certificate_get_x509_crt(gnutls_certificate_credentials_t res, unsigned index, gnutls_x509_crt_t ** crt_list, unsigned * crt_list_size);


gnutls_certificate_credentials_t res

is a gnutls_certificate_credentials_t type.

unsigned index

The index of the certificate list to obtain.

gnutls_x509_crt_t ** crt_list

Where to store the certificate list.

unsigned * crt_list_size

Will hold the number of certificates.


Obtains a X.509 certificate list that has been stored in  res with one of gnutls_certificate_set_x509_key(), gnutls_certificate_set_key(), gnutls_certificate_set_x509_key_file(), gnutls_certificate_set_x509_key_file2(), gnutls_certificate_set_x509_key_mem(), or gnutls_certificate_set_x509_key_mem2(). Each certificate in the returned certificate list must be deallocated with gnutls_x509_crt_deinit(), and the list itself must be freed with gnutls_free().

The  index matches the return value of gnutls_certificate_set_x509_key() and friends functions, when the GNUTLS_CERTIFICATE_API_V2 flag is set.

If there is no certificate with the given index, GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE is returned. If the certificate with the given index is not a X.509 certificate, GNUTLS_E_INVALID_REQUEST is returned. The returned certificates must be deinitialized after use, and the  crt_list pointer must be freed using gnutls_free().


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



Reporting Bugs

Report bugs to <>.
Home page:

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


3.6.9 gnutls