Indy 10 with Delphi 2006: Workable? Drop in for an Indy 9 app?

Current app: Delphi 2006, indy9 (uses SOAP and other components heavily)

Need to go to Indy 10 for TLS support (poodle, etc).

Looking at

http://www.indyproject.org/Sockets/Docs/Indy10Installation.EN.aspx

And this does not answer a couple of key questions:

a) Is Indy 10 a drop in , or are code changes needed?

b) Will the SOAP libs etc in Delphi 2006 magically start using indy10 once it is in my app?

c) Does Indy 10 automagically use TLS, or is special code needed?

Thanks!

Upvotes: 1

Views: 408

Answers (1)

Remy Lebeau
Remy Lebeau

Reputation: 595320

Need to go to Indy 10 for TLS support (poodle, etc).

Indy 9 supports TLS v1.0 (TLS v1.1 and TLS 1.2 require Indy 10). Poodle affects SSL v3 only.

a) Is Indy 10 a drop in , or are code changes needed?

It is not a drop in. Depending on which pieces you are actually using, code changes are likely going to be needed. Indy 10 was a major re-write over Indy 9, the lower levels had big interfaces changes, the higher pieces had lesser changes. Also, Indy 10 uses a different package hierarchy than Indy 9.

b) Will the SOAP libs etc in Delphi 2006 magically start using indy10 once it is in my app?

No. You have to recompile the Soap libs, after making any necessary code changes.

c) Does Indy 10 automagically use TLS, or is special code needed?

Code is needed, similar to Indy 9 required. You need to assign an SSL IOHandler to the connection, and then configure its SSL/TLS version and options as needed. In Indy 9, that was TIdSSLIOHandlerSocket. In Indy 10, it was renamed to TIdSSLIOHandlerSocketOpenSSL. Also, there is also a new UseTLS property that controls whether implicit SSL or explicit TLS is used when establishing a secure session.

Upvotes: 6

Related Questions