OpenSSL TLS Arka Ucu — sgcWebSockets | eSeGeCe

OpenSSL TLS Arka Ucu

OpenSSL (iohOpenSSL), sgcWebSockets için platformlar arası TLS taşıyıcısıdır. Kitaplığın hedeflediği her platformda çalışır ve çoğunda varsayılandır; herhangi bir arka ucun en geniş protokol ve şifre kapsamına sahiptir. TLSOptions.IOHandler değerini iohOpenSSL olarak ayarlayarak etkinleştirin, ardından OpenSSL çalışma zamanı kitaplıklarını uygulamanızın yanında dağıtın.

← Tüm TLS arka uçları

OpenSSL (iohOpenSSL)

Indy'nin yuvası üzerinde uygulanan platformlar arası TLS, sgcWebSockets'in hedeflediği her platformda kullanılabilir.

OpenSSL, sgcWebSockets'in Indy'nin yuvası üzerine kurduğu platformlar arası TLS uygulamasıdır. Windows, Linux, macOS, iOS ve Android üzerinde kullanılabilir ve çoğunda varsayılan arka uçtur. Her platformda aynı TLS davranışına ihtiyaç duyduğunuzda veya yalnızca OpenSSL'in sunduğu bir yeteneğe bağımlı olduğunuzda OpenSSL'i seçin.

Arka uç, herhangi bir sgcWebSockets taşıyıcısının en geniş şifre paketi seçimiyle TLS 1.0'dan TLS 1.3'e kadar kapsar. Özel bir CA kökü (RootCertFile) ile özel veya kendinden imzalı bir yetkiliye güvenebilir, karşılıklı TLS için bir istemci sertifikası sunabilir ve ALPN aracılığıyla http/1.1 gibi uygulama protokollerini duyurabilirsiniz. Dört arka uç da aynı TLSOptions API'sini paylaştığından, OpenSSL'e karşı yazılan kod yalnızca IOHandler satırı değiştirilerek yerel bir arka uca taşınır.

Ödün dağıtımdır. OpenSSL harici bir bağımlılıktır, bu yüzden çalışma zamanı kitaplıklarını uygulamanızla birlikte gönderir ve yamalı tutarsınız. Windows'ta bu libssl-3.dll ve libcrypto-3.dll demektir, Linux ve Android'de eşleşen .so dosyaları ve Apple platformlarında .dylib dosyaları. Dağıtılacak sıfır kitaplıkla yerel TLS istiyorsanız, Windows'ta SChannel'a ya da yerel Android ve Apple arka uçlarına bakın, ya da OpenSSL kullanmaya devam edip bunun yerine Windows yürütülebilir dosyanıza statik olarak bağlayın, aşağıya bakın.

OpenSSL'i Etkinleştirin

TLSOptions.IOHandler değerini iohOpenSSL olarak ayarlayın, ardından OpenSSL kitaplıklarını yapınızla birlikte dağıtın.

uses
  sgcWebSocket, sgcWebSocket_Types;
// ...
WSClient.TLS := True;
WSClient.TLSOptions.IOHandler := iohOpenSSL;
WSClient.TLSOptions.VerifyCertificate := True;
WSClient.TLSOptions.RootCertFile := '';   // optional custom CA (PEM/DER)
WSClient.TLSOptions.CertFile := '';       // optional client cert for mTLS
WSClient.TLSOptions.Password := '';
WSClient.TLSOptions.ALPNProtocols.Add('http/1.1');
WSClient.Host := 'your.server.com';
WSClient.Port := 443;
WSClient.Active := True;
WSClient->TLS = true;
WSClient->TLSOptions->IOHandler = iohOpenSSL;
WSClient->TLSOptions->VerifyCertificate = true;
WSClient->TLSOptions->RootCertFile = "";   // optional custom CA (PEM/DER)
WSClient->TLSOptions->CertFile = "";       // optional client cert for mTLS
WSClient->TLSOptions->Password = "";
WSClient->TLSOptions->ALPNProtocols->Add("http/1.1");
WSClient->Host = "your.server.com";
WSClient->Port = 443;
WSClient->Active = true;

OpenSSL Kitaplıklarını Gönderme

OpenSSL harici bir bağımlılıktır, bu yüzden çalışma zamanı kitaplıkları her platformda uygulamanızla birlikte gider.

Windows

libssl-3.dll ve libcrypto-3.dll dosyalarını yürütülebilir dosyanızın yanına dağıtın (hedefinize uyacak şekilde 32 bit veya 64 bit yapı), ya da OpenSSL'i statik olarak bağlayarak DLL'leri tamamen atlayın, aşağıya bakın.

Linux ve Android

Eşleşen libssl ve libcrypto .so dosyalarını paketleyin, ardından bunları uygulamanızın çalışma zamanında erişebileceği bir yoldan yükleyin.

macOS, iOS

OpenSSL çalışma zamanının cihazda kullanılabilir olması için libssl ve libcrypto .dylib dosyalarını uygulama paketiyle birlikte gönderin.

Yamalı Tutun

Kitaplıklar sizin dağıtımınız olduğundan, bir güvenlik düzeltmesi yayımlandığında bunları güncellemekten siz sorumlusunuz.

OpenSSL'i Yürütülebilir Dosyaya Bağlayın

Windows'ta OpenSSL, çalışma zamanında libssl-3.dll ve libcrypto-3.dll dosyalarından yüklenmek yerine doğrudan .exe dosyanızın içine bağlanabilir.

sgcIdSSLOpenSSL_Static birimini projenizin uses bölümüne ekleyin, başka hiçbir şey ayarlamanız gerekmez: etkinleştirilecek bir derleyici yönergesi yoktur, seçilecek bir OpenSSL API sürümü yoktur. Uygulamanız bir sonraki çalıştırmasından itibaren, hem istemci hem de sunucu bileşenleri için, 32 bit ve 64 bit yapılarda, yürütülebilir dosyaya bağlanmış OpenSSL kitaplığını kullanmaya başlar. Birimi uses bölümünden kaldırdığınızda uygulamanız tam olarak eskisi gibi OpenSSL DLL'lerini yüklemeye geri döner.

uses
  sgcWebSocket, sgcWebSocket_Classes,
  sgcIdSSLOpenSSL_Static;

Şu anda bağlanan OpenSSL sürümü 3.5.7'dir ve gelecekteki güncellemelerde yenilenir, böylece OpenSSL ikili dosyalarını kendiniz takip etmeniz veya yeniden dağıtmanız gerekmez. Statik bağlama, Delphi XE2 veya daha yenisini ve özel Indy kitaplığını (bu sürümlerde varsayılan) gerektirir; daha eski Delphi sürümlerinde birim hiçbir şeye derlenmez ve uygulamanız her zamanki gibi OpenSSL DLL'lerini yüklemeye devam eder.

Sürüm notu

OpenSSL (iohOpenSSL), sgcWebSockets'in her sürümünde yer alır. Tam dökümü için özellik matrisine bakın.

Windows'ta statik bağlama, Delphi XE2 veya daha yenisini gerektirir ve Enterprise ile All-Access sürümlerinde kullanılabilir.

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

Tek Satırda Platformlar Arası TLS

Ücretsiz denemeyi indirin ve Delphi ile C++Builder uygulamalarınıza OpenSSL destekli TLS ekleyin.