Indy TIdSSLIOHandlerSocketOpenSSL implementation


This question already has an answer here:


I am getting the error that the IOHandler value is not valid.

You must not be using an up-to-date version of Indy, because new code was added a year ago to help users deal with that error:

New HTTPS functionality for TIdHTTP

After scouring the forums I found that I need to create a TIDSSLIOHandlerOpenSSL object and assign a value to this.

You need to create a TIdSSLIOHandlerSocketOpenSSL object and assign it to the TIdHTTP.IOHandler property, and then configure the IOHandler with whatever encryption settings you need (SSL/TLS version(s), certificates, etc).

I am very new to the SSL protocols and need some help on how to import the TIdSSLIOHandlerSocketOpenSSL library into Delphi.

There is nothing to import. The TIdSSLIOHandlerSocketOpenSSL component is part of Indy, same as the TIdHTTP component. They are both available in Indy's pages of the IDE's Component Palette and Tool Palette, so you can drop them on a Form/Frame/DataModule at design-time, or you can create them programmably in code at runtime, your choice.

I have the libeay32.dll and ssleay32.dll in the application folder. Do I need to register them?

No. TIdSSLIOHandlerSocketOpenSSL loads them dynamically at runtime, using the OS search path by default to find them. The OS looks in the application folder first. If you need to store them somewhere else, you can call Indy's IdOpenSSLSetLibPath() function at runtime to tell Indy where they are located.

Once that is done, how would I then make the component visibile in Delphi XE7?

The same way you do any other component. If you have Indy installed, you already have the TIdHTTP and TIdSSLIOHandlerSocketOpenSSL components available. Indy is available for both VCL and FireMonkey projects.

Need Your Help

Cocoapods with Xcode 6 and 10.10 Yosemite

xcode cocoapods osx-yosemite osx-yosemite-beta

After initially upgrading to 10.10 and XCode6-Beta, I tried to run 'pod update' and I received this error:

MongoDB: Determining which Secondary is being read from

java mongodb database

Hey first time using mongo replica sets, and I've configured a set of 3 servers in Java. I'm trying to determine which secondary is being read from by my service (using secondary preferred). Does the