@deftypefun {int} {gnutls_certificate_set_x509_key} (gnutls_certificate_credentials_t @var{res}, gnutls_x509_crt_t * @var{cert_list}, int @var{cert_list_size}, gnutls_x509_privkey_t @var{key}) @var{res}: is a @code{gnutls_certificate_credentials_t} type. @var{cert_list}: contains a certificate list (path) for the specified private key @var{cert_list_size}: holds the size of the certificate list @var{key}: is a @code{gnutls_x509_privkey_t} key This function sets a certificate/private key pair in the gnutls_certificate_credentials_t type. 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 their own end entity certificate (e.g., also an intermediate CA cert) then put the certificate chain in @code{cert_list} . Note that the certificates and keys provided, can be safely deinitialized after this function is called. If that function fails to load the @code{res} type is at an undefined state, it must not be reused to load other keys or certificates. Note that, this function by default returns zero on success and a negative value on error. Since 3.5.6, when the flag @code{GNUTLS_CERTIFICATE_API_V2} is set using @code{gnutls_certificate_set_flags()} it returns an index (greater or equal to zero). That index can be used to other functions to refer to the added key-pair. @strong{Returns:} On success this functions returns zero, and otherwise a negative value on error (see above for modifying that behavior). @strong{Since:} 2.4.0 @end deftypefun