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 에디션에는 포함되지 않습니다. 전체 내역은 기능 매트릭스를 참고하세요.