From f6b49ea8dad966526b50aa26ecd9c7484c3402d4 Mon Sep 17 00:00:00 2001 From: pmcconna Date: Mon, 8 Nov 2021 12:24:23 -0800 Subject: [PATCH] Abort if the certificate or key do not exist, or the private key is invalid. --- src/dtls_udp_echo.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/dtls_udp_echo.c b/src/dtls_udp_echo.c index 5544366..010dde4 100644 --- a/src/dtls_udp_echo.c +++ b/src/dtls_udp_echo.c @@ -619,14 +619,20 @@ void start_server(int port, char *local_address) { //SSL_CTX_set_cipher_list(ctx, "ALL:NULL:eNULL:aNULL"); SSL_CTX_set_session_cache_mode(ctx, SSL_SESS_CACHE_OFF); - if (!SSL_CTX_use_certificate_file(ctx, "certs/server-cert.pem", SSL_FILETYPE_PEM)) + if (!SSL_CTX_use_certificate_file(ctx, "certs/server-cert.pem", SSL_FILETYPE_PEM)) { printf("\nERROR: no certificate found!"); + abort(); + } - if (!SSL_CTX_use_PrivateKey_file(ctx, "certs/server-key.pem", SSL_FILETYPE_PEM)) + if (!SSL_CTX_use_PrivateKey_file(ctx, "certs/server-key.pem", SSL_FILETYPE_PEM)) { printf("\nERROR: no private key found!"); + abort(); + } - if (!SSL_CTX_check_private_key (ctx)) + if (!SSL_CTX_check_private_key (ctx)) { printf("\nERROR: invalid private key!"); + abort(); + } /* Client has to authenticate */ SSL_CTX_set_verify(ctx, SSL_VERIFY_PEER | SSL_VERIFY_CLIENT_ONCE, dtls_verify_callback);