diff --git a/CMakeLists.txt b/CMakeLists.txt
index a1fdd0e..690e37f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -234,14 +234,14 @@
 
 if(ENABLE_SSH_TLS)
     # dependencies - mbedTLS (higher preference) or OpenSSL
-    find_package(LibMbedTLS 3.5.2)
-    if (LIBMBEDTLS_FOUND)
+    find_package(MbedTLS 3.5.2)
+    if (MBEDTLS_FOUND)
         # dependencies - mbedtls
-        set(HAVE_LIBMBEDTLS TRUE)
+        set(HAVE_MBEDTLS TRUE)
         list(APPEND libsrc src/session_mbedtls.c)
-        include_directories(${LIBMBEDTLS_INCLUDE_DIRS})
-        target_link_libraries(netconf2 ${LIBMBEDTLS_LIBRARIES})
-        list(APPEND CMAKE_REQUIRED_LIBRARIES ${LIBMBEDTLS_LIBRARIES})
+        include_directories(${MBEDTLS_INCLUDE_DIR})
+        target_link_libraries(netconf2 ${MBEDTLS_LIBRARIES})
+        list(APPEND CMAKE_REQUIRED_LIBRARIES ${MBEDTLS_LIBRARIES})
     else()
         # dependencies - openssl
         find_package(OpenSSL 3.0.0 REQUIRED)
diff --git a/CMakeModules/FindLibMbedTLS.cmake b/CMakeModules/FindLibMbedTLS.cmake
deleted file mode 100644
index 7ab6f33..0000000
--- a/CMakeModules/FindLibMbedTLS.cmake
+++ /dev/null
@@ -1,99 +0,0 @@
-# - Try to find LibMbedTLS
-# Once done this will define
-#
-#  LIBMBEDTLS_FOUND - system has LibPAM
-#  LIBMBEDTLS_INCLUDE_DIRS - the LibPAM include directory
-#  LIBMBEDTLS_LIBRARIES - link these to use LibPAM
-#
-#  Author Roman Janota <xjanot04@fit.vutbr.cz>
-#  Copyright (c) 2024 CESNET, z.s.p.o.
-#
-#  Redistribution and use in source and binary forms, with or without
-#  modification, are permitted provided that the following conditions
-#  are met:
-#
-#  1. Redistributions of source code must retain the copyright
-#     notice, this list of conditions and the following disclaimer.
-#  2. Redistributions in binary form must reproduce the copyright
-#     notice, this list of conditions and the following disclaimer in the
-#     documentation and/or other materials provided with the distribution.
-#  3. The name of the author may not be used to endorse or promote products
-#     derived from this software without specific prior written permission.
-#
-#  THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-#  IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-#  OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-#  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
-#  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-#  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-#  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-#  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-#  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-#  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-
-if(LIBMBEDTLS_LIBRARIES AND LIBMBEDTLS_INCLUDE_DIRS)
-  # in cache already
-  set(LIBMBEDTLS_FOUND TRUE)
-else()
-  find_path(LIBMBEDTLS_INCLUDE_DIR
-    NAMES
-      mbedtls/ssl.h
-    PATHS
-      /opt/local/include
-      /sw/include
-      ${CMAKE_INCLUDE_PATH}
-      ${CMAKE_INSTALL_PREFIX}/include
-  )
-
-  find_library(LIBMBEDTLS_LIBRARY
-    NAMES
-      libmbedtls.so # TODO
-    PATHS
-      /usr/lib
-      /usr/lib64
-      /opt/local/lib
-      /sw/lib
-      ${CMAKE_LIBRARY_PATH}
-      ${CMAKE_INSTALL_PREFIX}/lib
-  )
-
-  find_library(LIBMBEDX509_LIBRARY
-    NAMES
-      libmbedx509.so
-    PATHS
-      /usr/lib
-      /usr/lib64
-      /opt/local/lib
-      /sw/lib
-      ${CMAKE_LIBRARY_PATH}
-      ${CMAKE_INSTALL_PREFIX}/lib
-  )
-
-  find_library(LIBMBEDCRYPTO_LIBRARY
-    NAMES
-      libmbedcrypto.so
-    PATHS
-      /usr/lib
-      /usr/lib64
-      /opt/local/lib
-      /sw/lib
-      ${CMAKE_LIBRARY_PATH}
-      ${CMAKE_INSTALL_PREFIX}/lib
-  )
-
-  if(LIBMBEDTLS_INCLUDE_DIR AND LIBMBEDTLS_LIBRARY AND LIBMBEDX509_LIBRARY AND LIBMBEDCRYPTO_LIBRARY)
-    set(LIBMBEDTLS_FOUND TRUE)
-  else()
-    set(LIBMBEDTLS_FOUND FALSE)
-  endif()
-
-  set(LIBMBEDTLS_INCLUDE_DIRS ${LIBMBEDTLS_INCLUDE_DIR})
-  set(LIBMBEDTLS_LIBRARIES ${LIBMBEDTLS_LIBRARY} ${LIBMBEDX509_LIBRARY} ${LIBMBEDCRYPTO_LIBRARY})
-
-  include(FindPackageHandleStandardArgs)
-  find_package_handle_standard_args(LibMbedTLS DEFAULT_MSG LIBMBEDTLS_LIBRARIES LIBMBEDTLS_INCLUDE_DIRS)
-
-  # show the LIBMBEDTLS_INCLUDE_DIRS and LIBMBEDTLS_LIBRARIES variables only in the advanced view
-  mark_as_advanced(LIBMBEDTLS_INCLUDE_DIRS LIBMBEDTLS_LIBRARIES)
-endif()
diff --git a/CMakeModules/FindMbedTLS.cmake b/CMakeModules/FindMbedTLS.cmake
new file mode 100644
index 0000000..6f1b03e
--- /dev/null
+++ b/CMakeModules/FindMbedTLS.cmake
@@ -0,0 +1,110 @@
+# - Try to find MbedTLS
+# Once done this will define
+#
+#  MBEDTLS_FOUND - MbedTLS was found
+#  MBEDTLS_INCLUDE_DIR - MbedTLS include directories
+#  MBEDTLS_LIBRARIES - link these to use MbedTLS
+#  MBEDTLS_VERSION - version of MbedTLS
+#
+#  Author Roman Janota <janota@cesnet.cz>
+#  Copyright (c) 2024 CESNET, z.s.p.o.
+#
+#  Redistribution and use in source and binary forms, with or without
+#  modification, are permitted provided that the following conditions
+#  are met:
+#
+#  1. Redistributions of source code must retain the copyright
+#     notice, this list of conditions and the following disclaimer.
+#  2. Redistributions in binary form must reproduce the copyright
+#     notice, this list of conditions and the following disclaimer in the
+#     documentation and/or other materials provided with the distribution.
+#  3. The name of the author may not be used to endorse or promote products
+#     derived from this software without specific prior written permission.
+#
+#  THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+#  IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+#  OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+#  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+#  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+#  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+#  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+#  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+#  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+#  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+include(FindPackageHandleStandardArgs)
+
+if(MBEDTLS_LIBRARIES AND MBEDTLS_INCLUDE_DIR)
+    # in cache already
+    set(MBEDTLS_FOUND TRUE)
+else()
+    find_path(MBEDTLS_INCLUDE_DIR
+        NAMES
+            mbedtls/ssl.h
+        PATHS
+            /opt/local/include
+            /sw/include
+            ${CMAKE_INCLUDE_PATH}
+            ${CMAKE_INSTALL_PREFIX}/include
+    )
+
+    find_library(MBEDTLS_LIBRARY
+        NAMES
+            libmbedtls.so
+        PATHS
+            /usr/lib
+            /usr/lib64
+            /opt/local/lib
+            /sw/lib
+            ${CMAKE_LIBRARY_PATH}
+            ${CMAKE_INSTALL_PREFIX}/lib
+    )
+
+    find_library(MBEDX509_LIBRARY
+        NAMES
+            libmbedx509.so
+        PATHS
+            /usr/lib
+            /usr/lib64
+            /opt/local/lib
+            /sw/lib
+            ${CMAKE_LIBRARY_PATH}
+            ${CMAKE_INSTALL_PREFIX}/lib
+    )
+
+    find_library(MBEDCRYPTO_LIBRARY
+        NAMES
+            libmbedcrypto.so
+        PATHS
+            /usr/lib
+            /usr/lib64
+            /opt/local/lib
+            /sw/lib
+            ${CMAKE_LIBRARY_PATH}
+            ${CMAKE_INSTALL_PREFIX}/lib
+    )
+
+    if(MBEDTLS_INCLUDE_DIR AND MBEDTLS_LIBRARY AND MBEDX509_LIBRARY AND MBEDCRYPTO_LIBRARY)
+        # learn MbedTLS version
+        if(EXISTS "${MBEDTLS_INCLUDE_DIR}/mbedtls/build_info.h")
+            file(STRINGS "${MBEDTLS_INCLUDE_DIR}/mbedtls/build_info.h" MBEDTLS_VERSION
+                REGEX "#define[ \t]+MBEDTLS_VERSION_STRING[ \t]+\"([0-9]+\.[0-9]+\.[0-9]+)\"")
+            string(REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]+" MBEDTLS_VERSION ${MBEDTLS_VERSION})
+        endif()
+        if(NOT MBEDTLS_VERSION)
+            message(STATUS "MBEDTLS_VERSION not found, assuming MbedTLS is too old and cannot be used!")
+            set(MBEDTLS_INCLUDE_DIR "MBEDTLS_INCLUDE_DIR-NOTFOUND")
+            set(MBEDTLS_LIBRARY "MBEDTLS_LIBRARY-NOTFOUND")
+        endif()
+    endif()
+
+    set(MBEDTLS_INCLUDE_DIR ${MBEDTLS_INCLUDE_DIR})
+    set(MBEDTLS_LIBRARIES ${MBEDTLS_LIBRARY} ${MBEDX509_LIBRARY} ${MBEDCRYPTO_LIBRARY})
+
+    find_package_handle_standard_args(MbedTLS FOUND_VAR MBEDTLS_FOUND
+        REQUIRED_VARS MBEDTLS_INCLUDE_DIR MBEDTLS_LIBRARIES
+        VERSION_VAR MBEDTLS_VERSION)
+
+    # show the MBEDTLS_INCLUDE_DIR and MBEDTLS_LIBRARIES variables only in the advanced view
+    mark_as_advanced(MBEDTLS_INCLUDE_DIR MBEDTLS_LIBRARIES)
+endif()
diff --git a/src/config.h.in b/src/config.h.in
index c64db02..d366e0d 100644
--- a/src/config.h.in
+++ b/src/config.h.in
@@ -47,7 +47,7 @@
 /*
  * Use MbedTLS as TLS back-end
  */
-#cmakedefine HAVE_LIBMBEDTLS
+#cmakedefine HAVE_MBEDTLS
 
 /*
  * Location of installed YANG modules on the system
diff --git a/src/session_wrapper.h b/src/session_wrapper.h
index 654a7d1..d5a5286 100644
--- a/src/session_wrapper.h
+++ b/src/session_wrapper.h
@@ -20,7 +20,7 @@
 
 #include "config.h"
 
-#ifdef HAVE_LIBMBEDTLS
+#ifdef HAVE_MBEDTLS
 
 #include <mbedtls/ctr_drbg.h>
 #include <mbedtls/entropy.h>
