gnutls_certificate_get_x509_key — API function


#include <gnutls/gnutls.h>

int gnutls_certificate_get_x509_key(gnutls_certificate_credentials_t res, unsigned index, gnutls_x509_privkey_t * key);


gnutls_certificate_credentials_t res

is a gnutls_certificate_credentials_t type.

unsigned index

The index of the key to obtain.

gnutls_x509_privkey_t * key

Location to store the key.


Obtains a X.509 private key 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(). The returned key must be deallocated with gnutls_x509_privkey_deinit() when no longer needed.

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 key with the given index, GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE is returned. If the key with the given index is not a X.509 key, GNUTLS_E_INVALID_REQUEST is returned.


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