diff --git a/include/config.h b/include/config.h index d42a1bf..495db3a 100644 --- a/include/config.h +++ b/include/config.h @@ -13,6 +13,8 @@ struct gmnisrv_host { char *hostname; char *root; SSL_CTX *ssl_ctx; + X509 *x509; + EVP_PKEY *pkey; struct gmnisrv_host *next; }; diff --git a/src/tls.c b/src/tls.c index 29bfd24..ad5ed4c 100644 --- a/src/tls.c +++ b/src/tls.c @@ -86,10 +86,8 @@ tls_host_gencert(struct gmnisrv_tls *tlsconf, struct gmnisrv_host *host, return 1; } - r = SSL_CTX_use_certificate(host->ssl_ctx, x509); - assert(r == 1); - r = SSL_CTX_use_PrivateKey(host->ssl_ctx, pkey); - assert(r == 1); + host->x509 = x509; + host->pkey = pkey; return 0; } @@ -150,11 +148,8 @@ tls_host_init(struct gmnisrv_tls *tlsconf, struct gmnisrv_host *host) goto generate; } - r = SSL_CTX_use_certificate(host->ssl_ctx, x509); - assert(r == 1); - r = SSL_CTX_use_PrivateKey(host->ssl_ctx, pkey); - assert(r == 1); - + host->x509 = x509; + host->pkey = pkey; server_log("loaded certificate for %s", host->hostname); return 0;