



@deftypefun {int} {gnutls_certificate_set_x509_key_mem2} (gnutls_certificate_credentials_t @var{res}, const gnutls_datum_t * @var{cert}, const gnutls_datum_t * @var{key}, gnutls_x509_crt_fmt_t @var{type}, const char * @var{pass}, unsigned int @var{flags})
@var{res}: is a @code{gnutls_certificate_credentials_t}  structure.

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

@var{key}: is the private key, or @code{NULL} 

@var{type}: is PEM or DER

@var{pass}: is the key's password

@var{flags}: an ORed sequence of gnutls_pkcs_encrypt_flags_t

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.

Note that the keyUsage (2.5.29.15) PKIX extension in X.509 certificates
is supported. This means that certificates intended for signing cannot
be used for ciphersuites that require encryption.

If the certificate and the private key are given in PEM encoding
then the strings that hold their values must be null terminated.

The  @code{key} may be @code{NULL}  if you are using a sign callback, see
@code{gnutls_sign_callback_set()} .

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