SSL / TLS Arka Uçları

sgcWebSockets, tek bir özelliğin arkasında, TLSOptions.IOHandler, dört değiştirilebilir TLS taşıyıcısıyla gelir. Maksimum taşınabilirlik için OpenSSL'i seçin veya işletim sisteminin kendi TLS yığınını kullanan ve dağıtılacak hiçbir OpenSSL kitaplığı olmayan yerel bir platform arka ucunu (Windows SChannel, Android, iOS/macOS) tercih edin. Arka ucu değiştirmek tek satırlık koddur, başka hiçbir şey değişmez.

Dört TLS Taşıyıcısı, Tek Özellik

Her arka uç aynı TLSOptions API'sine takılır. Platformunuza ve dağıtımınıza uygun olanı seçin, ardından TLSOptions.IOHandler değerini ayarlayın.

Arka Uç Karşılaştırması

Her taşıyıcı için platformlar, dağıtım ayak izi, TLS 1.3 desteği ve sürüm.

Arka Uç Platformlar Dağıtılacak kitaplık TLS 1.3 Sürüm
OpenSSL Windows, Linux, macOS, iOS, Android OpenSSL (libssl/libcrypto) Evet Tüm sürümler
SChannel Windows Yok (Windows'a yerleşik) Evet (Windows 11/Server 2022+) Professional, Enterprise
Android TLS Android Yok (işletim sistemini kullanır) Evet Enterprise
Apple TLS iOS, macOS Yok (işletim sistemini kullanır) Evet (10.14+/iOS 12+) Enterprise

Bir Arka Uç Seçin

Her taşıyıcının, tam kurulumu, Delphi ve C++ Builder için kodu, dağıtım notlarını ve sürüm ayrıntılarını içeren kendi sayfası vardır.

OpenSSL (iohOpenSSL)

Indy'nin yuvası üzerinde platformlar arası TLS, sgcWebSockets'in hedeflediği her platformda kullanılabilir ve çoğunda varsayılandır. Tam TLS 1.0'dan 1.3'e, en geniş şifre kapsamı, özel CA, istemci sertifikaları ve ALPN. OpenSSL çalışma zamanı kitaplıklarını uygulamanızla birlikte dağıtırsınız. Her sürümde yer alır.

Tam kılavuzu okuyun →

SChannel (iohSChannel)

Microsoft'un Windows'a yerleşik yerel TLS yığını (Secure Channel / SSPI). Sıfır kitaplık dağıtımı, gönderilecek veya yamalanacak OpenSSL DLL'leri yok ve Windows sertifika deposunu kullanır. Yalnızca Windows. Professional ve Enterprise sürümlerinde yer alır.

Tam kılavuzu okuyun →

Yerel Android TLS (iohAndroidTLS)

JNI aracılığıyla platformun SSLEngine'ini kullanan Android yerel TLS'i. APK'nizde OpenSSL .so yok, Android sistem güven deposuna karşı doğrulama, TLS 1.3 ve Android 10 (API 29) ve sonrasında ALPN. Enterprise sürümü.

Tam kılavuzu okuyun →

Yerel Apple TLS (iohAppleTLS)

iOS ve macOS için, dağıtılacak OpenSSL .dylib olmadan Apple yerel TLS'i. macOS 10.14+ / iOS 12+ üzerinde otomatik olarak Network.framework'ü (TLS 1.3) seçer ve eski sistemlerde Secure Transport'a (TLS 1.2) geri döner; sistem güveni, SNI, özel CA, istemci sertifikası / mTLS ve ALPN ile. Enterprise sürümü.

Tam kılavuzu okuyun →

Sürüm notu

Yerel platform TLS'i, Android (iohAndroidTLS) ve Apple (iohAppleTLS), Enterprise sürümünü gerektirir. OpenSSL (iohOpenSSL) her sürümde yer alır; SChannel (iohSChannel) Professional ve Enterprise sürümlerinde yer alır.

Tek Satırla Değiştirin

Dört arka uç da aynı TLSOptions API'sini paylaşır, bu yüzden aralarında geçiş yapmak tek bir özellik değişikliğidir. Kodunuzdaki başka hiçbir şeyin değişmesi gerekmez.

TLS ve VerifyCertificate

TLS'i etkinleştirin ve eş sertifika doğrulamasını her arka uçta aynı şekilde açıp kapatın.

RootCertFile

Özel veya kendinden imzalı bir sertifika yetkilisine güvenmek için özel bir CA köküne işaret edin.

CertFile ve Password

Karşılıklı TLS (mTLS) kimlik doğrulaması için bir istemci sertifikası ve parolasını sağlayın.

ALPNProtocols

TLS el sıkışması sırasında uygulama protokollerini (örneğin http/1.1) duyurun.

// Aynı TLSOptions, yalnızca IOHandler satırı platforma göre değişir.
WSClient.TLS := True;
WSClient.TLSOptions.IOHandler := iohOpenSSL;   // veya 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;
// Aynı TLSOptions, yalnızca IOHandler satırı platforma göre değişir.
WSClient->TLS = true;
WSClient->TLSOptions->IOHandler = iohOpenSSL;   // veya 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;

Yerel TLS, Dağıtılacak Sıfır OpenSSL

Ücretsiz denemeyi indirin ve TLS arka uçlarını tek satırlık kodla değiştirin.