Backend SSL / TLS

sgcWebSockets include quattro trasporti TLS intercambiabili dietro un'unica proprietà, TLSOptions.IOHandler. Scegli OpenSSL per la massima portabilità, oppure un backend nativo della piattaforma (Windows SChannel, Android, iOS/macOS) che usa lo stack TLS del sistema operativo senza alcuna libreria OpenSSL da distribuire. Cambiare backend è una sola riga di codice, niente altro cambia.

Quattro trasporti TLS, una proprietà

Ogni backend si collega alla stessa API TLSOptions. Scegli quello adatto alla tua piattaforma e alla tua distribuzione, poi imposta TLSOptions.IOHandler.

Confronto dei backend

Piattaforme, ingombro di distribuzione, supporto TLS 1.3 ed edizione per ogni trasporto.

Backend Piattaforme Libreria da distribuire TLS 1.3 Edizione
OpenSSL Windows, Linux, macOS, iOS, Android OpenSSL (libssl/libcrypto) Tutte le edizioni
SChannel Windows Nessuna (integrata in Windows) (Windows 11/Server 2022+) Professional, Enterprise
TLS di Android Android Nessuna (usa il sistema operativo) Enterprise
TLS di Apple iOS, macOS Nessuna (usa il sistema operativo) (10.14+/iOS 12+) Enterprise

Scegli un backend

Ogni trasporto ha la sua pagina con la configurazione completa, il codice per Delphi e C++ Builder, le note di distribuzione e i dettagli sull'edizione.

OpenSSL (iohOpenSSL)

TLS multipiattaforma sul socket di Indy, disponibile su ogni piattaforma supportata da sgcWebSockets e predefinito sulla maggior parte di esse. TLS dalla 1.0 alla 1.3 completo, la più ampia copertura di cifrari, CA personalizzata, certificati client e ALPN. Distribuisci le librerie runtime di OpenSSL insieme alla tua applicazione. Incluso in ogni edizione.

Leggi la guida completa →

SChannel (iohSChannel)

Lo stack TLS nativo di Microsoft (Secure Channel / SSPI), integrato in Windows. Zero distribuzione di librerie, nessuna DLL OpenSSL da spedire o aggiornare, e usa l'archivio certificati di Windows. Solo Windows. Incluso nelle edizioni Professional ed Enterprise.

Leggi la guida completa →

TLS nativo di Android (iohAndroidTLS)

TLS nativo di Android che usa l'SSLEngine della piattaforma tramite JNI. Nessun .so OpenSSL nel tuo APK, convalida rispetto all'archivio di trust di sistema di Android, TLS 1.3 e ALPN su Android 10 (API 29) e versioni successive. Edizione Enterprise.

Leggi la guida completa →

TLS nativo di Apple (iohAppleTLS)

TLS nativo di Apple per iOS e macOS, senza alcun .dylib OpenSSL da distribuire. Seleziona automaticamente Network.framework (TLS 1.3) su macOS 10.14+ / iOS 12+ e ricade su Secure Transport (TLS 1.2) sui sistemi più datati, con trust di sistema, SNI, CA personalizzata, certificato client / mTLS e ALPN. Edizione Enterprise.

Leggi la guida completa →

Nota sull'edizione

Il TLS nativo della piattaforma, Android (iohAndroidTLS) e Apple (iohAppleTLS), richiede l'edizione Enterprise. OpenSSL (iohOpenSSL) è incluso in ogni edizione; SChannel (iohSChannel) è incluso nelle edizioni Professional ed Enterprise.

Cambia con una sola riga

Tutti e quattro i backend condividono la stessa API TLSOptions, quindi passare dall'uno all'altro è un singolo cambio di proprietà. Niente altro nel tuo codice deve cambiare.

TLS e VerifyCertificate

Abilita il TLS e attiva la verifica del certificato del peer allo stesso modo su ogni backend.

RootCertFile

Punta a una CA radice personalizzata per fidarti di un'autorità di certificazione privata o autofirmata.

CertFile e Password

Fornisci un certificato client e la sua password per l'autenticazione TLS reciproca (mTLS).

ALPNProtocols

Annuncia i protocolli applicativi (ad esempio http/1.1) durante l'handshake TLS.

// Stessa TLSOptions, cambia solo la riga IOHandler per piattaforma.
WSClient.TLS := True;
WSClient.TLSOptions.IOHandler := iohOpenSSL;   // oppure 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;
// Stessa TLSOptions, cambia solo la riga IOHandler per piattaforma.
WSClient->TLS = true;
WSClient->TLSOptions->IOHandler = iohOpenSSL;   // oppure 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;

TLS nativo, zero OpenSSL da distribuire

Scarica la versione di prova gratuita e cambia backend TLS con una sola riga di codice.