SChannel TLS バックエンド

SChannel(iohSChannel)は sgcWebSockets の Windows ネイティブ TLS トランスポートです。Windows に内蔵された Microsoft の Secure Channel(SSPI)スタックを使用するため、追加でデプロイするものはなく、配布やパッチ適用が必要な OpenSSL DLL もありません。TLSOptions.IOHandler を iohSChannel に設定して有効にします。

← すべての TLS バックエンド

SChannel (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 の行だけです。

SChannel を有効にする

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 の内部に同梱されるため、デプロイのフットプリントはどのバックエンドよりも小さくなります。

OpenSSL DLL なし

libssl も libcrypto もアプリケーションとともに配布しません。バージョンを合わせたりパッチを当てたりする追加のものはありません。

Windows 証明書ストア

証明書と信頼されたルートは OS のストアから提供され、一元管理され、Windows Update を通じて更新されます。

TLS 1.3

TLS 1.3 は Windows 11 および Windows Server 2022 以降で利用でき、それより前の Windows は TLS 1.2 にフォールバックします。

Windows 専用

SChannel は Windows で動作します。Linux、macOS、iOS、Android では OpenSSL またはネイティブのモバイルバックエンドを使用してください。

エディションに関する注記

SChannel(iohSChannel)は sgcWebSockets の Professional および Enterprise エディションに同梱されています。Standard エディションには含まれません。詳細な内訳は機能マトリクスをご覧ください。

ネイティブ Windows TLS、DLL なし

無料体験版をダウンロードして、配布する OpenSSL ライブラリをゼロにして Windows で TLS を実行しましょう。