SSL / TLS Arka Uçları

sgcWebSockets, tek bir özelliğin arkasında, TLSOptions.IOHandler, beş değiştirilebilir TLS taşıyıcısıyla gelir. Maksimum taşınabilirlik için OpenSSL'i seçin, 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 ya da Yerel TLS motorunu kullanın; bu motor, Object Pascal ile yazılmış, hiçbir hedefte bağımlılık taşımayan ve varsayılan olarak kuantum sonrası X25519MLKEM768 anahtar değişimini müzakere eden bir TLS 1.3 ve TLS 1.2 yığınıdır. Windows'ta OpenSSL'in kendisi de yürütülebilir dosyanıza statik olarak bağlanabilir, böylece OpenSSL'de kalırsınız ve yine de dağıtılacak hiçbir şey olmaz. Arka ucu değiştirmek tek satırlık koddur, başka hiçbir şey değişmez.

Beş 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 libssl/libcrypto veya Windows'ta hiçbiri (statik bağlama) 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
Yerel TLS Windows, Linux, macOS, iOS, Android Yok (saf Object Pascal) Evet (ve TLS 1.2) Standard, Professional, Enterprise ya da sgcCrypto paketi

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. Windows'ta, bunun yerine yürütülebilir dosyaya statik olarak da bağlanabilir, dağıtılacak hiçbir şey kalmaz.

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 →

Yerel TLS (iohNativeTLS)

sgcCrypto birimleri üzerine tamamen Object Pascal ile yazılmış bir TLS 1.3 ve TLS 1.2 uygulaması, bu yüzden Windows, Linux, macOS, iOS ya da Android'de dağıtılacak hiçbir şey yoktur. Bir istemcide TLSOptions.IOHandler := iohNativeTLS, bir sunucuda SSLOptions.IOHandler := iohNativeTLS ayarlayın; IOCP ve EPOLL sunucu motorları dahildir. TLSOptions.NativeTLS_Options.Groups ve TLSOptions.NativeTLS_Options.CipherSuites, iki nokta üst üste ile ayrılmış OpenSSL tarzı listeler alır. Varsayılan değerleri X25519MLKEM768:X25519:secp256r1:secp384r1 ve TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256 artı TLS 1.2 varsayılanları olarak gelir, böylece destekleyen bir eşe karşı yapılan el sıkışma hiçbir yapılandırma olmadan kuantum sonrası hibrittir.

TLS 1.3 ve TLS 1.2. İstemcide TLSOptions.Version, sunucuda SSLOptions.Version, izin verilen en düşük sürümdür: tls1_2 ya da tlsUndefined TLS 1.3 ya da TLS 1.2'yi müzakere eder, tls1_3 ise yalnızca TLS 1.3'e izin verir. Yalnızca TLS 1.2 için, NativeTLS_Options.CipherSuites içinde yalnızca TLS 1.2 şifreleme paketlerini listeleyin. TLS 1.2, varsayılan olarak AES-128-GCM, AES-256-GCM ve ChaCha20-Poly1305 ile ECDHE_ECDSA ve ECDHE_RSA sunar; ECDHE AES-CBC paketleri ve RSA anahtar değişimi yalnızca siz adlandırdığınızda bulunur. X25519, secp256r1 ya da secp384r1 kullanır, çünkü hibrit kuantum sonrası gruplar yalnızca TLS 1.3'te bulunur. TLS 1.2, RFC 7627'nin genişletilmiş ana sırrı ve her iki tarafta da RFC 8446 düşürme korumasıyla gelir, ayrıca yeniden müzakereyi ve SHA-1 imzalarını reddeder.

Neleri yapmaz. Motor yalnızca TLS 1.3 ve TLS 1.2 konuşur, TLS 1.1, TLS 1.0 ya da SSL yoktur. Oturum devam ettirme ve PSK yoktur, 0-RTT ve QUIC yoktur. Güvenilen kökler TLSOptions.RootCertFile dosyasından gelir, artı NativeTLS_Options.UseSystemRoots True olduğunda işletim sisteminin güvendiği kökler; bunlar Windows ROOT deposundan ya da bir CA paket dosyasından okunur ve macOS ya da iOS anahtarlığından veya Android deposundan asla okunmaz; bileşen olayı OnSSLVerifyPeer bu motorda kullanılamaz, motorun kendi doğrulama kancaları vardır. Bunlardan birine ihtiyacınız varsa OpenSSL'de ya da bir platform arka ucunda kalın.

sgcCrypto'nun bir parçasıdır, bu yüzden Standard sürümünden itibaren ve bağımsız sgcCrypto paketinde yer alır.

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. Windows'ta OpenSSL'i statik olarak bağlamak da Enterprise veya All-Access sürümünü gerektirir. Yerel TLS (iohNativeTLS) sgcCrypto'nun bir parçasıdır, bu yüzden Standard sürümünden itibaren ve bağımsız sgcCrypto paketinde yer alır.

Tek Satırla Değiştirin

Beş 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 / iohNativeTLS
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 / iohNativeTLS
WSClient->TLSOptions->VerifyCertificate = true;
WSClient->TLSOptions->RootCertFile = "";
WSClient->TLSOptions->CertFile = "";
WSClient->TLSOptions->Password = "";
WSClient->TLSOptions->ALPNProtocols->Add("http/1.1");
WSClient->Active = true;
En avantajlı seçenek: All-AccessTüm eSeGeCe ürünleri, Premium Destek dahil, yılda €1,059'dan itibaren.
All-Access fiyatlarına bakın

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.