OpenSSL | Statik Bağlama

OpenSSL, çalışma zamanında libcrypto ve libssl DLL dosyalarından yüklenmek yerine, doğrudan uygulamanızın yürütülebilir dosyasının içine bağlanabilir. Bu, TLS kullanan bir uygulamanın herhangi bir OpenSSL DLL'sini dağıtmasına gerek kalmadığı, ihtiyaç duyduğu her şeyin zaten .exe dosyasının içinde bulunduğu anlamına gelir.

Tek bir dosya dağıtmak istediğinizde, hedef makinede doğru OpenSSL DLL'sinin kurulu olduğunu garanti edemediğinizde veya dağıtım sürecinizin yürütülebilir dosyanın yanında ek dosyalara izin vermediği durumlarda bu özellik faydalıdır.

Gereksinimler

Nasıl Yapılandırılır

Ayarlamanız gereken hiçbir şey yoktur. Yalnızca projenizin uses bölümüne sgcIdSSLOpenSSL_Static birimini ekleyin, örneğin ana .dpr dosyasında:

uses

  sgcIdSSLOpenSSL_Static;

Hepsi bu kadar. Etkinleştirilecek bir derleyici yönergesi veya seçilecek bir OpenSSL API sürümü yoktur; uygulamanız bir sonraki çalıştırıldığında, hem istemci hem de sunucu bileşenleri için yürütülebilir dosyaya bağlanmış olan OpenSSL kütüphanesini kullanmaya başlar. Birimi uses bölümünden kaldırırsanız, uygulamanız tam olarak eskisi gibi OpenSSL DLL'lerini yüklemeye geri döner.

Şu anda bağlanan OpenSSL sürümü 3.5.7'dir. Bu sürüm, en son OpenSSL düzeltmelerini içerecek şekilde zaman zaman güncellenir, böylece OpenSSL sürümlerini kendiniz takip etmenize veya dağıtmanıza gerek kalmaz.

Yaygın Hatalar

E2045 Bad object file format

Bu, XE2'den daha eski bir Delphi sürümüyle derleme yaptığınız anlamına gelir. Statik bağlama Delphi XE2 veya daha yenisini gerektirir; sgcIdSSLOpenSSL_Static birimini uses bölümünden kaldırın, uygulamanız OpenSSL DLL'leriyle çalışmaya devam edecektir.