From 836c2f9f5d0d3c6cc1369a08683860e940c935b8 Mon Sep 17 00:00:00 2001 From: Paul Querna Date: Tue, 24 May 2005 17:55:17 +0000 Subject: start the CA Certificate code. --- (limited to 'src/gnutls_config.c') diff --git a/src/gnutls_config.c b/src/gnutls_config.c index 1194448..d3879f1 100644 --- a/src/gnutls_config.c +++ b/src/gnutls_config.c @@ -214,19 +214,31 @@ const char *mgs_set_client_ca_file(cmd_parms * parms, void *dummy, { int rv; const char* file; + apr_pool_t* spool; + gnutls_datum_t data; + mgs_srvconf_rec *sc = (mgs_srvconf_rec *) ap_get_module_config(parms->server-> module_config, &gnutls_module); - file = ap_server_root_relative(parms->pool, arg); - rv = gnutls_certificate_set_x509_trust_file(sc->certs, - file, GNUTLS_X509_FMT_PEM); - + apr_pool_create(&spool, parms->pool); + + file = ap_server_root_relative(spool, arg); + + sc->ca_list_size = 16; + + load_datum_from_file(spool, file, &data); + + rv = gnutls_x509_crt_list_import(sc->ca_list, &sc->ca_list_size, + &data, GNUTLS_X509_FMT_PEM, + GNUTLS_X509_CRT_LIST_IMPORT_FAIL_IF_EXCEED); if (rv < 0) { return apr_psprintf(parms->pool, "GnuTLS: Failed to load " "Client CA File '%s': (%d) %s", file, rv, gnutls_strerror(rv)); } + + apr_pool_destroy(spool); return NULL; } -- cgit v0.9.2