OpenSSL 1.1 Indy

· 機能

現在、Indy は OpenSSL 1.0.2 バージョンのみをサポートしており、多くのお客様から OpenSSL 1.1 のサポートについてお問い合わせをいただいています。OpenSSL 1.0.2 は標準プロトコルバージョンである TLS 1.2 をサポートしているため現時点では利用可能ですが、OpenSSL チームは今年末で 1.0 API のサポートを終了します。これは、これ以上の更新がリリースされず、このライブラリに対する修正も適用されなくなることを意味し、Indy ライブラリにとっては好ましくない知らせです。

多くの内部作業を経て、OpenSSL 1.1 API をサポートする sgcWebSockets ライブラリの新バージョンをリリースしました。

sgcWebSockets 4.3.2 以降でサポートされます

そのため、現在 2 つのバージョンがあります。

  1. デフォルト版: 従来のバージョンと同じで、IDE に Indy がインストールされている必要があります。
  2. Indy 版: OpenSSL API 1.1 をサポートするカスタム Indy バージョンで、Indy のインストールは不要です。Indy ファイルはリネームされているため、自分の Indy ライブラリを保持したまま、当社のカスタム Indy ソースで sgcWebSockets をコンパイルできます。

OpenSSL 1.1 を有効にするには、OpenSSL_Options にアクセスし、使用する API を選択してください: oslAPI_1_0 または oslAPI_1_1。クライアントの例:

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; 

その後、Indy がデフォルトで使用する OpenSSL 1.0.2 の代わりに、独自の OpenSSL 1.1 ライブラリをデプロイできます。オペレーティングシステムによっては、openSSL ライブラリのデプロイが必要な場合と不要な場合があります。

プラットフォーム ​API 1.0 API 1.1 静的/動的リンク
​Windows (32 ビットおよび 64 ビット) ​libeay32.dll and ssleay32.dll ​libcrypto-1_1.dll and libssl-1_1.dll ​動的
​OSX​libcrypto.dylib, libssl.dylib​libcrypto.1.1.dylib, libssl.1.1.dylib​動的
​iOS デバイス (32 ビットおよび 64 ビット)​libcrypto.a and libssl.a​libcrypto.a and libssl.a​静的
​iOS シミュレーター​libcrypto.dylib, libssl.dylib​libcrypto.1.1.dylib, libssl.1.1.dylib​動的
​Android デバイス​libcrypto.so, libssl.so​libcrypto.so, libssl.so​動的