diff --git a/include/ssl_key_handler.hpp b/include/ssl_key_handler.hpp
index 4578c2b..067b0dc 100644
--- a/include/ssl_key_handler.hpp
+++ b/include/ssl_key_handler.hpp
@@ -109,6 +109,7 @@
         EVP_PKEY* pkey = PEM_read_PrivateKey(file, nullptr, nullptr, nullptr);
         if (pkey != nullptr)
         {
+#if (OPENSSL_VERSION_NUMBER < 0x30000000L)
             RSA* rsa = EVP_PKEY_get1_RSA(pkey);
             if (rsa != nullptr)
             {
@@ -142,6 +143,26 @@
                     EC_KEY_free(ec);
                 }
             }
+#else
+            EVP_PKEY_CTX* pkey_ctx =
+                EVP_PKEY_CTX_new_from_pkey(nullptr, pkey, nullptr);
+
+            if (!pkey_ctx)
+            {
+                std::cerr << "Unable to allocate pkey_ctx " << ERR_get_error()
+                          << "\n";
+            }
+            else if (EVP_PKEY_check(pkey_ctx) == 1)
+            {
+                privateKeyValid = true;
+            }
+            else
+            {
+
+                std::cerr << "Key not valid error number " << ERR_get_error()
+                          << "\n";
+            }
+#endif
 
             if (privateKeyValid)
             {
@@ -164,6 +185,9 @@
                 }
             }
 
+#if (OPENSSL_VERSION_NUMBER > 0x30000000L)
+            EVP_PKEY_CTX_free(pkey_ctx);
+#endif
             EVP_PKEY_free(pkey);
         }
         fclose(file);
