Jump to content
FreeDelphiPascal

Where I can find the SSL DLLs for Indy?

Recommended Posts

Hi,

 

I'm trying to use the latest Open SSL available on GitHub (1.0.2u) and using it with Indy included in 10.4.2 but I get always an exception that Indy "Could not open SSL library". I'm using it on a SMTP connection.

Before the exception I get a messagebox with the message that is impossible to find the ordinal 4684  in the ssleay32.dll...

Is this (1.0.2u) the right DLL to use with Delphi 10.4.2?

 

Thanks

Share this post


Link to post
5 hours ago, Davide Angeli said:

I'm trying to use the latest Open SSL available on GitHub (1.0.2u) and using it with Indy included in 10.4.2 but I get always an exception that Indy "Could not open SSL library". I'm using it on a SMTP connection.

What does Indy's WhichFailedToLoad() function report after the error occurs?

5 hours ago, Davide Angeli said:

Before the exception I get a messagebox with the message that is impossible to find the ordinal 4684  in the ssleay32.dll...

Are you using 1.0.2u for BOTH DLLs?  Do you have other versions of OpenSSL on your system?  Try using SysInternals Process Monitor to make sure your app is actually attempting to load the correct DLLs you are expecting, and not some other DLLs.

5 hours ago, Davide Angeli said:

Is this (1.0.2u) the right DLL to use with Delphi 10.4.2?

It should work, yes.

  • Thanks 1

Share this post


Link to post
On 4/9/2021 at 4:51 PM, Remy Lebeau said:

What does Indy's WhichFailedToLoad() function report after the error occurs?

"Failed to load ssleay32.dll"

 

On 4/9/2021 at 4:51 PM, Remy Lebeau said:

Are you using 1.0.2u for BOTH DLLs?  Do you have other versions of OpenSSL on your system?  Try using SysInternals Process Monitor to make sure your app is actually attempting to load the correct DLLs you are expecting, and not some other DLLs.

I did a file search on my develop system just now and I could see dozens of OpenSSL versions on it  :classic_sad:... I suppose that some of it is loaded before the one that I want, so I forceed the path with IdOpenSSLSetLibPath(mypath) and now it works fine without errors. 

Just for knowledge, after search I could see that libeay32.dll+ssleay32.dll are present also in "c:\Program Files (x86)\Embarcadero\Studio\21.0\bin\subversion\" even if this release is not the last "1.0.2u" but it is the "1.0.2n".

 

On 4/9/2021 at 4:51 PM, Remy Lebeau said:

It should work, yes.

Yes it work

 

Thank you

Share this post


Link to post

Where do we find libssl.1.0.0.dylib and libcrypto.1.0.0.dylib, that works with TLS 1.2 on macOS?

 

By trying homebrew  (brew install openssl@1.0) I get always 1.1, but that seems not to work with Indy-Version in Delphi 11.2

 

The program crashs direct after imap.connect.

Share this post


Link to post
1 hour ago, Harry Stahl said:

Where do we find libssl.1.0.0.dylib and libcrypto.1.0.0.dylib, that works with TLS 1.2 on macOS?

I don't know, as I'm not a macOS developer.  However, TLS 1.2 was added to OpenSSL in v1.0.1, so v1.0.0 will not suit your needs.

1 hour ago, Harry Stahl said:

By trying homebrew  (brew install openssl@1.0) I get always 1.1, but that seems not to work with Indy-Version in Delphi 11.2

That is because Indy's default SSLIOHandler only supports OpenSSL up to v1.0.2.  To use OpenSSL v1.1.0 or later, you will have to install and use the work-in-progress SSLIOHandler that is found on this Pull Request in Indy's GitHub repo (as it hasn't been reviewed and merged into the main code yet).

Share this post


Link to post

Thank you for this info, remmy. As one can read there, the handler is not tested with macOS or Linux.

Do you see any possibility to bring an updated OpenSLL Handler into Delphi 11.3 / 12.0?

If yes, one could perhaps bring this point into the current Beta 11.3 process. 

Share this post


Link to post

Hello,

 

Indy openSSL works well with macOS, you only need the correct openSSL libraries (there is no need to update Indy OpenSSL Handler), as Remy suggests, you need openSSL 1.0.2 to work with TLS 1.2. You can download the openSSL 1.0.2 sources and compile for OSX.

 

https://www.openssl.org/source/old/1.0.2/

 

Kind Regards,

Sergio

Share this post


Link to post
1 hour ago, Harry Stahl said:

Do you see any possibility to bring an updated OpenSLL Handler into Delphi 11.3 / 12.0?

It will not be available in 11.3, which is already in beta.  It is too soon to speculate about 12.0.

Share this post


Link to post

For me the use of a 1.02 dylib and TLS 1.2 protocol would be enough for the moment.

 

But no idea how to compile that. Are there also binarys available?

Version 1.02u should be perfect.

 

@remmy: OK, that it seems, that we have to wait.

In Germany the most mail providers will no longer support TLS 1.0 and TLS 1.1, so TLS 1.2 is the only one we can use now (as long, as it seems to be secure)... 

Share this post


Link to post
1 hour ago, Harry Stahl said:

Thanks, but I would prefer a ready to go donwload-link for binarys...

Indy does have some binaries in its OpenSSL-binaries GitHub repo, but it currently has only .DLLs for Windows, .SO's for Android, and static .A's for iOS, there are no .DYLIB's for macOS, sorry.

Edited by Remy Lebeau
  • Thanks 1

Share this post


Link to post

This command on Intel Mac worked for me

brew install rbenv/tap/openssl@1.0
ln -sfn /usr/local/Cellar/openssl@1.0/1.0.2t /usr/local/opt/openssl

 

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
×