Jump to content
DelphiUdIT

Indy with OpenSSL 1.1.1 support is fine

Recommended Posts

Hello everyone, sometimes it's good to have some good news in the forums and not always requests for support (even if these always improve technical skills).

 

With Alexandria Rad Studio 10.3 I tried to enable TLS 1.3 support using a trunk version of Indy "https://github.com/mezen/Indy/tree/NewOpenSSL_PR" already described in issue 299.

 

Uninstalled Indy from RAD STUDIO.

Known Issues:
- Lost support for FMX LivePreview (which I don't use).
- Each time Rad Studio is closed, a runtime error is generated in the RTL library.... It is not recursive and when OK it disappears without a trace. I only close RAD Studio 1 or 2 times a day so it doesn't give me any problems.

 

Care must be taken to remove all references to the original Indy sources in the RAD STUDIO LIBRARY path. To make it faster I saved the Windows registry with REGEDIT, edited with a NOTEPAD removing all references to INDY from the various keys and re-imported again with REGEDIT.

I then entered the new paths (Core, Protocols, System, OpenSSL) of the new archive (unzipped in a directory on the disk) again in RAD Studio.

 

Without touching anything, recompiling the old project with native OpenSSL 1.0.2 support worked perfectly.

 

Then I modified the source by inserting a $DEFINE and some $IFDEFs to easily switch from version 1.1.1 to version 1.0.2 and vice versa.

Version 1.1.1 actually only needs to specify the security keys (cipher) to use which are different from those of 1.0.2, and obviously have access to the two OpenSSL 1.1.1 DLLs.

Everything works, with TLS 1.3 support and automatic downgrade to TLS 1.2 (as already reported in other TOPICs).
Changing the $DEFINE and recompiling switches to the old "original" version with TLS 1.2 support with OpenSSL 1.0.2

 

All third-party components (obviously in source format) that use Indy work perfectly even with the new version once recompiled. I haven't tested all of my projects that use Indy to see if there were any issues, but the last 10 recompiled projects didn't produce any glitches.

 

When I have some time I will try to reinstall RAD STUDIO from scratch and directly upgrade the Indy TRUNK in the original RAD Studio version just to see if by recompiling from there you can avoid LIBRARY PATH updates (except the OPENSSL which you have to add by hand) and above all if you manage to avoid the error when closing RAD Studio.

 

Bye

 

P.S.: the project is an HTTPS server directly derived from an Indy demo. It is online in Internet without any filter, protection or other with no issue at all after more than one years in two systems Windows desktop and Linux server (now the Linux server is not anymore online).

Edited by DelphiUdIT
  • Like 2
  • Thanks 2

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
×