OpenSSL 1.1 Indy

Currently, Indy only supports 1.0.2 OpenSSL version and several customers have asked us about support for OpenSSL 1.1. Although OpenSSL 1.0.2 is usable at this moment because supports TLS 1.2 which is the standard protocol version, OpenSSL Team will stop supporting 1.0 API at the end of this year, this means no more updates will be released and no more fixes will be applied to this libraries, so these are bad news for Indy library.

After a lot of internal work we have released a new version of sgcWebSockets library which supports OpenSSL 1.1 API

supported from sgcWebSockets 4.3.2

​So currently there are 2 versions: 

  1. Default version: will be the same that prior versions, which requires Indy installed in your IDE.
  2. Indy version: is a custom Indy version, with OpenSSL API 1.1 support and doesn't require Indy is installed. Indy files have been renamed, so you can maintain your own Indy library while compile sgcWebSockets with our custom Indy sources.

To enable OpenSSL 1.1, just access to OpenSSL_Options and select which API you want use: oslAPI_1_0 or oslAPI_1_1. Example for client:

oClient := TsgcWebSocketClient.Create(nil);
oClient.Host := '';
oclient.Port := 443;
oClient.TLS := True;
oClient.TLSOptions.OpenSSL_Options.APIVersion := oslAPI_1_1;
oClient.Active := True; 

After that, you can deploy your OpenSSL 1.1 libraries instead of OpenSSL 1.0.2 which uses Indy by default. Depending of your Operating System you must deploy or not openSSL libraries. 

Platform ​API 1.0 API 1.1 Static / Dynamic Linking
​Windows (32-bit and 64-bit) ​libeay32.dll and ssleay32.dll ​libcrypto-1_1.dll and libssl-1_1.dll ​Dynamic
​OSX​libcrypto.dylib, libssl.dylib​libcrypto.1.1.dylib, libssl.1.1.dylib​Dynamic
​iOS Device (32-bit and 64-bit)​libcrypto.a and libssl.a​libcrypto.a and libssl.a​Static
​iOS Simulator​libcrypto.dylib, libssl.dylib​libcrypto.1.1.dylib, libssl.1.1.dylib​Dynamic
​Android Device​,​,​Dynamic
Stay Informed

When you subscribe to the blog, we will send you an e-mail when there are new updates on the site so you wouldn't miss them.

Indy supports ALPN (Application Layer Protocol Neg...