Backendy SSL / TLS

sgcWebSockets dostarcza cztery wymienne transporty TLS za jedną właściwością, TLSOptions.IOHandler. Wybierz OpenSSL dla maksymalnej przenośności lub natywny backend platformowy (Windows SChannel, Android, iOS/macOS), który korzysta z własnego stosu TLS systemu operacyjnego, bez bibliotek OpenSSL do wdrożenia. Przełączenie backendu to jedna linia kodu, nic więcej się nie zmienia.

Cztery transporty TLS, jedna właściwość

Każdy backend podpina się do tego samego API TLSOptions. Wybierz ten, który pasuje do Twojej platformy i wdrożenia, a następnie ustaw TLSOptions.IOHandler.

Porównanie backendów

Platformy, rozmiar wdrożenia, obsługa TLS 1.3 i edycja dla każdego transportu.

Backend Platformy Biblioteka do wdrożenia TLS 1.3 Edycja
OpenSSL Windows, Linux, macOS, iOS, Android OpenSSL (libssl/libcrypto) Tak Wszystkie edycje
SChannel Windows Brak (wbudowany w Windows) Tak (Windows 11/Server 2022+) Professional, Enterprise
Natywny TLS systemu Android Android Brak (korzysta z systemu) Tak Enterprise
Natywny TLS systemu Apple iOS, macOS Brak (korzysta z systemu) Tak (10.14+/iOS 12+) Enterprise

Wybierz backend

Każdy transport ma własną stronę z pełną konfiguracją, kodem dla Delphi i C++ Builder, uwagami dotyczącymi wdrożenia oraz szczegółami edycji.

OpenSSL (iohOpenSSL)

Wieloplatformowy TLS oparty na gnieździe Indy, dostępny na każdej platformie obsługiwanej przez sgcWebSockets i domyślny na większości z nich. Pełny zakres od TLS 1.0 do 1.3, najszersze pokrycie szyfrów, niestandardowy urząd CA, certyfikaty klienta i ALPN. Z aplikacją wdrażasz biblioteki uruchomieniowe OpenSSL. Dostępny w każdej edycji.

Przeczytaj pełny przewodnik →

SChannel (iohSChannel)

Natywny stos TLS firmy Microsoft (Secure Channel / SSPI), wbudowany w Windows. Zero wdrażania bibliotek, brak bibliotek DLL OpenSSL do dostarczenia lub łatania, korzysta z magazynu certyfikatów systemu Windows. Tylko Windows. Dostępny w edycjach Professional i Enterprise.

Przeczytaj pełny przewodnik →

Natywny TLS systemu Android (iohAndroidTLS)

Natywny TLS systemu Android wykorzystujący platformowy SSLEngine za pośrednictwem JNI. Brak pliku OpenSSL .so w pakiecie APK, walidacja względem systemowego magazynu zaufania Android, TLS 1.3 oraz ALPN na Androidzie 10 (API 29) i nowszych. Edycja Enterprise.

Przeczytaj pełny przewodnik →

Natywny TLS systemu Apple (iohAppleTLS)

Natywny TLS systemu Apple dla iOS i macOS, bez pliku OpenSSL .dylib do wdrożenia. Automatycznie wybiera Network.framework (TLS 1.3) na macOS 10.14+ / iOS 12+ i wraca do Secure Transport (TLS 1.2) na starszych systemach, z zaufaniem systemowym, SNI, niestandardowym urzędem CA, certyfikatem klienta / mTLS oraz ALPN. Edycja Enterprise.

Przeczytaj pełny przewodnik →

Uwaga o edycji

Natywny platformowy TLS, Android (iohAndroidTLS) i Apple (iohAppleTLS), wymaga edycji Enterprise. OpenSSL (iohOpenSSL) jest dostępny w każdej edycji; SChannel (iohSChannel) jest dostępny w edycjach Professional i Enterprise.

Przełącz jedną linią

Wszystkie cztery backendy korzystają z tego samego API TLSOptions, więc przejście między nimi to zmiana jednej właściwości. Nic więcej w Twoim kodzie nie musi się zmieniać.

TLS i VerifyCertificate

Włącz TLS i przełączaj weryfikację certyfikatu serwera tak samo na każdym backendzie.

RootCertFile

Wskaż niestandardowy urząd CA, aby zaufać prywatnemu lub samopodpisanemu urzędowi certyfikacji.

CertFile i Password

Dostarcz certyfikat klienta i jego hasło dla uwierzytelniania wzajemnego TLS (mTLS).

ALPNProtocols

Ogłaszaj protokoły aplikacyjne (na przykład http/1.1) podczas uzgadniania TLS.

// Te same TLSOptions, zmienia się tylko linia IOHandler dla każdej platformy.
WSClient.TLS := True;
WSClient.TLSOptions.IOHandler := iohOpenSSL;   // lub iohSChannel / iohAndroidTLS / iohAppleTLS
WSClient.TLSOptions.VerifyCertificate := True;
WSClient.TLSOptions.RootCertFile := '';
WSClient.TLSOptions.CertFile := '';
WSClient.TLSOptions.Password := '';
WSClient.TLSOptions.ALPNProtocols.Add('http/1.1');
WSClient.Active := True;
// Te same TLSOptions, zmienia się tylko linia IOHandler dla każdej platformy.
WSClient->TLS = true;
WSClient->TLSOptions->IOHandler = iohOpenSSL;   // lub iohSChannel / iohAndroidTLS / iohAppleTLS
WSClient->TLSOptions->VerifyCertificate = true;
WSClient->TLSOptions->RootCertFile = "";
WSClient->TLSOptions->CertFile = "";
WSClient->TLSOptions->Password = "";
WSClient->TLSOptions->ALPNProtocols->Add("http/1.1");
WSClient->Active = true;

Natywny TLS, zero OpenSSL do wdrożenia

Pobierz bezpłatną wersję próbną i przełączaj backendy TLS jedną linią kodu.