Esempio n. 1
0
int
manos_tls_init (manos_tls_socket_t *tls, const char *cert, const char *key)
{
	manos_tls_socket_t socket;
	int err;

	socket = malloc (sizeof (*socket));
	if (socket == NULL) {
		return ENOMEM;
	}

	memset (socket, 0, sizeof (*socket));

	err = gnutls_certificate_allocate_credentials (&socket->credentials);
	if (err != 0) {
		return err;
	}

	err = gnutls_certificate_set_x509_key_file (socket->credentials, cert, key, GNUTLS_X509_FMT_PEM);
	if (err != 0) {
		return err;
	}

	gnutls_certificate_set_params_function(socket->credentials, get_dh_params);

	*tls = socket;
	return 0;
}
void certificate_server_credentials::
set_params_function (gnutls_params_function * func)
{
    gnutls_certificate_set_params_function (cred, func);
}