


@deftypefun {int} {gnutls_certificate_set_key} (gnutls_certificate_credentials_t @var{res}, const char ** @var{names}, int @var{names_size}, gnutls_pcert_st * @var{pcert_list}, int @var{pcert_list_size}, gnutls_privkey_t @var{key})
@var{res}: is a @code{gnutls_certificate_credentials_t}  structure.

@var{names}: is an array of DNS name of the certificate (NULL if none)

@var{names_size}: holds the size of the names list

@var{pcert_list}: contains a certificate list (path) for the specified private key

@var{pcert_list_size}: holds the size of the certificate list

@var{key}: is a @code{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  @code{pcert_list} . 

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

If that function fails to load the  @code{res} structure is at an undefined state, it must
not be reused to load other keys or certificates.

@strong{Returns:} @code{GNUTLS_E_SUCCESS}  (0) on success, or a negative error code.

@strong{Since:} 3.0
@end deftypefun
