Jump to content
Mauro Botta

Delphi 12.2 - TSQLConnection required DLL of SSL ?

Recommended Posts

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 by Mauro Botta

Share this post


Link to post

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
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 by Remy Lebeau

Share this post


Link to post
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 by Remy Lebeau
  • Thanks 1

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×