SChannel TLS バックエンド
SChannel(iohSChannel)は sgcWebSockets の Windows ネイティブ TLS トランスポートです。Windows に内蔵された Microsoft の Secure Channel(SSPI)スタックを使用するため、追加でデプロイするものはなく、配布やパッチ適用が必要な OpenSSL DLL もありません。TLSOptions.IOHandler を iohSChannel に設定して有効にします。
SChannel(iohSChannel)は sgcWebSockets の Windows ネイティブ TLS トランスポートです。Windows に内蔵された Microsoft の Secure Channel(SSPI)スタックを使用するため、追加でデプロイするものはなく、配布やパッチ適用が必要な OpenSSL DLL もありません。TLSOptions.IOHandler を iohSChannel に設定して有効にします。
Windows に内蔵された Microsoft のネイティブ TLS スタック。デプロイするライブラリはゼロ。
SChannel は Microsoft のネイティブ TLS 実装であり、SSPI を通じて公開される Secure Channel プロバイダです。Windows 自身の一部であるため、このバックエンドを選ぶと、同梱する OpenSSL ランタイムも、ビルドにバージョンを合わせる DLL も、脆弱性が公表されたときにパッチを当てるサードパーティライブラリもありません。トラスト、プロトコルのサポート、証明書の取り扱いはすべてオペレーティングシステムから提供されます。
SChannel は Windows 証明書ストアから読み込むため、証明書とルート認証局は OS によって一元管理され、Windows Update を通じて更新されます。TLS 1.3 は Windows 11 および Windows Server 2022 以降で利用できます。これにより SChannel は、ネイティブ TLS とできる限り小さいデプロイを求める Windows のデスクトップおよびサーバーアプリケーションに適しています。
SChannel は Windows 専用です。Linux、macOS、iOS、Android での TLS には OpenSSL またはネイティブのモバイルバックエンドを使用します。どのバックエンドも同じ TLSOptions API を共有するため、Windows ビルドは SChannel を実行し、同じコードベースがほかの環境では OpenSSL やネイティブバックエンドをターゲットにできます。プラットフォームごとに異なるのは IOHandler の行だけです。
TLSOptions.IOHandler を iohSChannel に設定します。デプロイするライブラリはありません。
uses
sgcWebSocket, sgcWebSocket_Types;
// ...
WSClient.TLS := True;
WSClient.TLSOptions.IOHandler := iohSChannel;
WSClient.TLSOptions.VerifyCertificate := True;
WSClient.Host := 'your.server.com';
WSClient.Port := 443;
WSClient.Active := True;
WSClient->TLS = true;
WSClient->TLSOptions->IOHandler = iohSChannel;
WSClient->TLSOptions->VerifyCertificate = true;
WSClient->Host = "your.server.com";
WSClient->Port = 443;
WSClient->Active = true;
SChannel は Windows の内部に同梱されるため、デプロイのフットプリントはどのバックエンドよりも小さくなります。
libssl も libcrypto もアプリケーションとともに配布しません。バージョンを合わせたりパッチを当てたりする追加のものはありません。
証明書と信頼されたルートは OS のストアから提供され、一元管理され、Windows Update を通じて更新されます。
TLS 1.3 は Windows 11 および Windows Server 2022 以降で利用でき、それより前の Windows は TLS 1.2 にフォールバックします。
SChannel は Windows で動作します。Linux、macOS、iOS、Android では OpenSSL またはネイティブのモバイルバックエンドを使用してください。
SChannel(iohSChannel)は sgcWebSockets の Professional および Enterprise エディションに同梱されています。Standard エディションには含まれません。詳細な内訳は機能マトリクスをご覧ください。