From b695f4cb6ca373e601a735ac074e0f9a5d37273c Mon Sep 17 00:00:00 2001 From: Kilian Hofmann Date: Mon, 5 Sep 2022 14:32:08 +0200 Subject: [PATCH] Allow non standard cert dir --- ixwebsocket/CMakeLists.txt | 4 ++-- ixwebsocket/IXSocketOpenSSL.cpp | 2 +- websocket/websocket.cpp | 5 +++++ 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/ixwebsocket/CMakeLists.txt b/ixwebsocket/CMakeLists.txt index dbdab8b..9831e68 100644 --- a/ixwebsocket/CMakeLists.txt +++ b/ixwebsocket/CMakeLists.txt @@ -64,8 +64,7 @@ elseif(UNIX) target_compile_definitions(ixwebsocket PRIVATE IXWEBSOCKET_USE_TLS IXWEBSOCKET_USE_OPEN_SSL - SSL_CERT_DIR=/etc/ssl/certs - SSL_CERT_FILE=/etc/ssl/cert.pem + IXWEBSOCKET_OPEN_SSL_CERTS="/etc/ssl/certs/" ) target_compile_options(ixwebsocket PRIVATE -nodefaultlibs @@ -96,6 +95,7 @@ elseif(WIN32) target_compile_definitions(ixwebsocket PRIVATE IXWEBSOCKET_USE_TLS IXWEBSOCKET_USE_OPEN_SSL + IXWEBSOCKET_OPEN_SSL_CERTS=NULL ) if(DEBUG) target_compile_options(ixwebsocket PRIVATE diff --git a/ixwebsocket/IXSocketOpenSSL.cpp b/ixwebsocket/IXSocketOpenSSL.cpp index 7fb6f6d..448be7d 100644 --- a/ixwebsocket/IXSocketOpenSSL.cpp +++ b/ixwebsocket/IXSocketOpenSSL.cpp @@ -506,7 +506,7 @@ namespace ix else { if (SSL_CTX_load_verify_locations( - _ssl_context, _tlsOptions.caFile.c_str(), NULL) != 1) + _ssl_context, _tlsOptions.caFile.c_str(), IXWEBSOCKET_OPEN_SSL_CERTS) != 1) { auto sslErr = ERR_get_error(); errMsg = "OpenSSL failed - SSL_CTX_load_verify_locations(\"" + diff --git a/websocket/websocket.cpp b/websocket/websocket.cpp index 8d2f9d1..15204d9 100644 --- a/websocket/websocket.cpp +++ b/websocket/websocket.cpp @@ -10,7 +10,12 @@ Websocket::Websocket(std::string host, ix::initNetSystem(); #endif + ix::SocketTLSOptions options; + options.caFile = "CUSTOM"; + options.tls = true; + webSocket = new ix::WebSocket(); + webSocket->setTLSOptions(options); webSocket->enableAutomaticReconnection(); webSocket->setUrl(host); webSocket->setOnMessageCallback([this](const ix::WebSocketMessagePtr &msg) {