24 gnutls_global_deinit();
39 static bool initialized =
false;
62 ctx->
xtype = GNUTLS_CRD_CERTIFICATE;
65 gnutls_certificate_allocate_credentials(&ctx->
xcred);
67 gnutls_certificate_set_x509_key_file(ctx->
xcred, certfile, certfile, GNUTLS_X509_FMT_PEM);
72 gnutls_certificate_set_x509_trust_file (ctx->
xcred, ca, GNUTLS_X509_FMT_PEM);
86 ctx->
xtype = GNUTLS_CRD_CERTIFICATE;
89 gnutls_certificate_allocate_credentials(&ctx->
xcred);
99 gnutls_certificate_set_x509_trust_file (ctx->
xcred, ca, GNUTLS_X509_FMT_PEM);
107 gnutls_dh_params_deinit(
dh);
113 case GNUTLS_CRD_ANON:
114 gnutls_anon_free_client_credentials((gnutls_anon_client_credentials_t)
xcred);
116 case GNUTLS_CRD_CERTIFICATE:
117 gnutls_certificate_free_credentials(
xcred);
132 gnutls_init(&ssl, (gnutls_connection_end_t)(
ctx->
connect));
135 gnutls_priority_set_direct(ssl,
"PERFORMANCE", NULL);
139 gnutls_certificate_server_set_request(ssl, GNUTLS_CERT_REQUEST);
140 gnutls_session_enable_compatibility_mode(ssl);
static void init(void)
Initialize socket subsystem.
static void init(void)
Used to initialize threading library.
static gnutls_priority_t priority_cache
gnutls_credentials_type_t xtype
gnutls_certificate_credentials_t xcred
static gnutls_session_t session(__context *ctx)
Common secure socket support.
error_t error
Last error flagged for this context.
static server_t server(const char *keyfile=NULL, const char *authority=NULL)
Create a sever context.
static bool init(void)
Initialize secure stack for first use, and report if SSL support is compiled in.
static bool fips(void)
Initialize secure stack with fips support.
static const char * oscerts(void)
Get path to system certificates.
static client_t client(const char *authority=NULL, const char *paths=NULL)
Create an anonymous client context with an optional authority to validate.
error_t err(void) const
Get last error code associated with the security context.
virtual ~secure()
This is derived in different back-end libraries, and will be used to clear certificate credentials.
static void secure_shutdown(void)
Common namespace for all ucommon objects.