Using TLS 1.2 instead of 1.1

Hi,
I’m using Remobjects version 9.3.105.1351.
I have made a RO client that consume Soap Web Service made by another company.
It works fine up to now but this company told me that se use TLS 1.0/1.1 to connect to their web service, and that we should use TLS 1.2 instead, because TLS 1.0/1.1 will no longer be supported.
How can I force the RO client (made with Delphi) to use TLS 1.2 ?
Best regards

Armindo

Hi,

Indy-based channels support TLS 1.2.
you may select it in correspondent TIdSSLIOHandlerSocketOpenSSL component:
Untitled

Thanks Evgeny for your reply.
Can you tell me what are the Indy based channels ?
I use TROWinInetHTTPChannel and TROSynapseHTTPChannel.
I guess that you speak about TROIndyHTTPChannel, the strange thing is that it doesn’t appear in my component list. Any idea why ?
Best regards

Hi,

Check that RemObjects_Indy_D## package is installed on your system.
you can open BuildPackages_D## package group in IDE and install it manually.

My Indy component show different things (I’m under Delphi 2010).

2021-05-25_14-06-24

Hi,

TLS 1.2 was added to Indy in 2012.

you can upgrade Indy from their latest snapshot.
it can be downloaded at https://github.com/IndySockets/Indy

A lot of conflic with other version of Indy but now Indy install is ok.
Do I have to set the other param of the TIdSSLIOHandlerSocketOpenSSL or just the TLS Stuff ?

Hi,

after installing of the latest snapshot, update RemObjects.inc and uncomment {.$DEFINE RemObjects_INDY10D}.

so you should have

   { If you are using Indy 10.5.9 or the latest just uncomment the
     RemObjects_INDY10D DEFINE right below, and remove the Indy
     package references from the Requires section of RemObjects_Indy_Dx.dpk
     before re-compiling your RemObjects Indy package. }

  {$DEFINE RemObjects_INDY10D}   ///<<<<<<<<< changed

after updateing this .inc, you need to recompile all packages.
for this open BuildPackages_D14.groupproj and rebuild all packages.

Thanks for the tip.
I have rebuild the package.
but concerning the IdSSLIOHandlerSocketOpenSSL1 that is linked to the ROIndyHTTPChannel I have set the TLS options but what about the other properties, should I set them or the channel properties are used ?

if you need to set SSL options, you should set them in TIdSSLIOHandlerSocketOpenSSL component.
usual (i.e. non SSL) properties like host, port , etc should be set on the TROIndyHTTPChannel level.

Perfect Evgeny, thanks for your help.

1 Like