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); }