OpenSSL 1.1 Indy

· Özellikler

Şu anda Indy yalnızca 1.0.2 OpenSSL sürümünü destekliyor ve birçok müşteri bize OpenSSL 1.1 desteği hakkında soru sordu. OpenSSL 1.0.2, standart protokol sürümü olan TLS 1.2'yi desteklediği için şu anda kullanılabilir olsa da, OpenSSL Ekibi bu yılın sonunda 1.0 API'sini desteklemeyi bırakacaktır; bu, artık güncelleme yayınlanmayacağı ve bu kitaplıklara artık düzeltme uygulanmayacağı anlamına gelir; dolayısıyla bunlar Indy kitaplığı için kötü haberlerdir.

Yoğun bir iç çalışmanın ardından, OpenSSL 1.1 API'sini destekleyen yeni bir sgcWebSockets kitaplığı sürümü yayınladık. 

sgcWebSockets 4.3.2 sürümünden itibaren desteklenir

​Dolayısıyla şu anda 2 sürüm bulunmaktadır: 

  1. Varsayılan sürüm: önceki sürümlerle aynı olacaktır ve IDE'nizde Indy'nin kurulu olmasını gerektirir.
  2. Indy sürümü: OpenSSL API 1.1 desteğine sahip özel bir Indy sürümüdür ve Indy'nin kurulu olmasını gerektirmez. Indy dosyaları yeniden adlandırılmıştır, böylece sgcWebSockets'i bizim özel Indy kaynaklarımızla derlerken kendi Indy kitaplığınızı koruyabilirsiniz.

OpenSSL 1.1'i etkinleştirmek için OpenSSL_Options'a erişin ve hangi API'yi kullanmak istediğinizi seçin: oslAPI_1_0 veya oslAPI_1_1. İstemci için örnek:

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

Bundan sonra, Indy'nin varsayılan olarak kullandığı OpenSSL 1.0.2 yerine OpenSSL 1.1 kitaplıklarınızı dağıtabilirsiniz. İşletim Sisteminize bağlı olarak openSSL kitaplıklarını dağıtmanız gerekebilir ya da gerekmeyebilir. 

Platform ​API 1.0 API 1.1 Statik / Dinamik Bağlama
​Windows (32-bit ve 64-bit) ​libeay32.dll and ssleay32.dll ​libcrypto-1_1.dll and libssl-1_1.dll ​Dinamik
​OSX​libcrypto.dylib, libssl.dylib​libcrypto.1.1.dylib, libssl.1.1.dylib​Dinamik
​iOS Cihazı (32-bit ve 64-bit)​libcrypto.a and libssl.a​libcrypto.a and libssl.a​Statik
​iOS Simülatörü​libcrypto.dylib, libssl.dylib​libcrypto.1.1.dylib, libssl.1.1.dylib​Dinamik
​Android Cihazı​libcrypto.so, libssl.so​libcrypto.so, libssl.so​Dinamik