Mauro Botta 1 Posted Thursday at 01:25 PM (edited) Hi My App use TNetHTTPClient for HTTPS call and under Windows don't required any SSL DLL, work fine. but then i call my DataSnap Server, using a TSQLConnection show me a error: Exception class TDBXError with message 'Loading SSL module failed. How i can remove the request of these SSL Files on Windows? ( libeay32.dll ) For Android i don't use any SSL library files. I don't want remove SSL of course. Thank You. Mauro Edited Thursday at 01:28 PM by Mauro Botta Share this post Link to post
Cristian Peța 117 Posted Thursday at 02:55 PM DataSnap uses Indy and Indy does not work with Windows SChannel. A solution would be to statically link OpenSSL library into executable like it was done for Android. Share this post Link to post
Remy Lebeau 1601 Posted Thursday at 03:01 PM (edited) 2 hours ago, Mauro Botta said: but then i call my DataSnap Server, using a TSQLConnection show me a error: Exception class TDBXError with message 'Loading SSL module failed. How i can remove the request of these SSL Files on Windows? ( libeay32.dll ) That error message does not imply OpenSSL specifically. It could be any SSL library. dbExpress itself doesn't use any SSL DLLs, that's the job of the underlying dbExpress driver to decide what it needs. To remove such a dependency, you will likely need to find another dbExpress driver that supports your database engine without that dependency. Edited Thursday at 03:45 PM by Remy Lebeau Share this post Link to post
Remy Lebeau 1601 Posted Thursday at 03:07 PM (edited) 50 minutes ago, Cristian Peța said: DataSnap uses Indy and Indy does not work with Windows SChannel. That's a little misleading. SChannel can use the SSL/TLS protocol. So, even if the server were using OpenSSL, a client could connect to it using SChannel. In any case, there is a 3rd party GitHub repo that provides an SChannel IOHandler for Indy. But DataSnap doesn't use that. Also, IIRC, it is only available for clients not servers. Quote A solution would be to statically link OpenSSL library into executable like it was done for Android. iOS is the only platform that Indy statically links to OpenSSL. On all other platforms, including Android, it uses OpenSSL libraries that are already present on the device, unless you provide your own lib files with your app. Edited Thursday at 03:48 PM by Remy Lebeau 1 Share this post Link to post