Openssl 3.2.1

I am attempting to build root, and I noticed during cmake that I get

Not able to recognize SSL version 3.2.1, disable SSL

Using grep to find the source of this message, I found it in net/http/CMakeLists.txt:

  if((${ssl_major} EQUAL "1") AND (${ssl_minor} EQUAL "1"))
    MESSAGE(STATUS "Use SSL API VERSION 1.1 for civetweb")
    target_compile_definitions(RHTTP PUBLIC -DOPENSSL_API_1_1)
    set(link_ssl ON)
  elseif((${ssl_major} EQUAL "3") AND ((${ssl_minor} EQUAL "0") OR (${ssl_minor} EQUAL "1")))
    MESSAGE(STATUS "Use SSL API VERSION 3.${ssl_minor} for civetweb")
    target_compile_definitions(RHTTP PUBLIC -DOPENSSL_API_3_0)
    set(link_ssl ON)
  elseif((${ssl_major} EQUAL "1") AND (${ssl_minor} EQUAL "0"))
    MESSAGE(STATUS "Use SSL API VERSION 1.0 for civetweb")
    target_compile_definitions(RHTTP PUBLIC -DOPENSSL_API_1_0)
    set(link_ssl ON)
  else()
    MESSAGE(WARNING "Not able to recognize SSL version ${OPENSSL_VERSION}, disable SSL")
    target_compile_definitions(RHTTP PUBLIC -DNO_SSL)
  endif()

So clearly, OpenSSL 3.2.1 is not compatible. This leaves 3 options:

  1. Remove OpenSSL completely and use Apple’s XCode (what I will likely do)
  2. Downgrade the version of OpenSSL
  3. Turn off SSL in cmake and the build.

But it raised a larger question to me–Why isn’t OpenSSL 3.2 compatible? Or, is there any reason, in general, that I shouldn’t use OpenSSL 3.2?

ROOT Version: 6.30.04
Platform: MacOS 15.3 Xcode 15.2
Compiler: Apple clang version 15.0.0 (clang-1500.1.0.2.5)
Target: x86_64-apple-darwin23.3.0
Thread model: posix


It is about support of SSL in the THttpServer class.
Up to now it was not tested with newer openssl version.

If you are using https with THttpServer - one can try to test if it compiles and usable.
If it is not important for you - just ignore warning message.