OpenSSL (iohOpenSSL) to wieloplatformowy transport TLS dla sgcWebSockets. Działa na każdej platformie obsługiwanej przez bibliotekę i jest domyślny na większości z nich, z najszerszym pokryciem protokołów i szyfrów spośród wszystkich backendów. Włącz go, ustawiając TLSOptions.IOHandler na iohOpenSSL, a następnie wdróż biblioteki uruchomieniowe OpenSSL wraz z aplikacją.
Wieloplatformowy TLS zaimplementowany na gnieździe Indy, dostępny na każdej platformie obsługiwanej przez sgcWebSockets.
OpenSSL to wieloplatformowa implementacja TLS, którą sgcWebSockets nakłada na gniazdo Indy. Jest dostępna na Windows, Linux, macOS, iOS i Android i na większości z nich jest domyślnym backendem. Wybierz OpenSSL, gdy potrzebujesz identycznego zachowania TLS na każdej platformie lub gdy zależysz od funkcji udostępnianej wyłącznie przez OpenSSL.
Backend obejmuje TLS od 1.0 do 1.3 z najszerszym wyborem zestawów szyfrów spośród wszystkich transportów sgcWebSockets. Możesz zaufać prywatnemu lub samopodpisanemu urzędowi za pomocą niestandardowego urzędu CA (RootCertFile), przedstawić certyfikat klienta dla wzajemnego TLS oraz ogłaszać protokoły aplikacyjne, takie jak http/1.1, za pośrednictwem ALPN. Ponieważ wszystkie cztery backendy korzystają z tego samego API TLSOptions, kod napisany pod OpenSSL przechodzi na backend natywny przez zmianę wyłącznie linii IOHandler.
Kompromisem jest wdrożenie. OpenSSL to zależność zewnętrzna, więc dostarczasz jego biblioteki uruchomieniowe wraz z aplikacją i utrzymujesz je załatane. Na Windows oznacza to libssl-3.dll i libcrypto-3.dll, na Linux i Android odpowiednie pliki .so, a na platformach Apple pliki .dylib. Jeśli chcesz natywny TLS bez bibliotek do wdrożenia, przyjrzyj się SChannel na Windows lub natywnym backendom Android i Apple, lub pozostań przy OpenSSL i linkuj go statycznie do swojego pliku wykonywalnego na Windows, zobacz poniżej.
Kod
Włącz OpenSSL
Ustaw TLSOptions.IOHandler na iohOpenSSL, a następnie wdróż biblioteki OpenSSL ze swoją kompilacją.
OpenSSL to zależność zewnętrzna, więc biblioteki uruchomieniowe wędrują z aplikacją na każdej platformie.
Windows
Wdróż libssl-3.dll i libcrypto-3.dll obok pliku wykonywalnego (kompilacja 32-bitowa lub 64-bitowa, zgodna z Twoim celem), lub całkowicie pomiń biblioteki DLL, linkując OpenSSL statycznie, zobacz poniżej.
Linux i Android
Dołącz odpowiednie pliki .so libssl i libcrypto, a następnie wczytaj je ze ścieżki dostępnej dla aplikacji w czasie wykonywania.
macOS, iOS
Dostarcz pliki .dylib libssl i libcrypto z pakietem aplikacji, aby środowisko uruchomieniowe OpenSSL było dostępne na urządzeniu.
Utrzymuj je załatane
Ponieważ to Ty wdrażasz biblioteki, jesteś odpowiedzialny za ich aktualizację po wydaniu poprawki bezpieczeństwa.
Windows · Enterprise, All-Access
Połącz OpenSSL wewnątrz pliku wykonywalnego
Na Windows OpenSSL można połączyć bezpośrednio wewnątrz pliku .exe, zamiast wczytywać go w czasie działania z bibliotek libssl-3.dll i libcrypto-3.dll.
Dodaj jednostkę sgcIdSSLOpenSSL_Static do klauzuli uses w swoim projekcie, a nie musisz konfigurować niczego więcej: nie ma dyrektywy kompilatora do włączenia ani wersji API OpenSSL do wyboru. Twoja aplikacja zaczyna korzystać z biblioteki OpenSSL połączonej wewnątrz pliku wykonywalnego już przy następnym uruchomieniu, zarówno dla komponentów klienckich, jak i serwerowych, w kompilacjach 32- i 64-bitowych. Usuń jednostkę z klauzuli uses, a aplikacja wróci do wczytywania bibliotek DLL OpenSSL dokładnie tak jak wcześniej.
Obecnie połączona wersja OpenSSL to 3.5.7, odświeżana w kolejnych aktualizacjach, dzięki czemu nie musisz samodzielnie śledzić ani ponownie wdrażać plików binarnych OpenSSL. Statyczne łączenie wymaga Delphi XE2 lub nowszego oraz niestandardowej biblioteki Indy (domyślnej w tych edycjach); w starszych wersjach Delphi jednostka kompiluje się do niczego, a aplikacja nadal wczytuje biblioteki DLL OpenSSL jak zwykle.
Uwaga o edycji
OpenSSL (iohOpenSSL) jest dostępny w każdej edycji sgcWebSockets. Zobacz macierz funkcji, aby poznać pełne zestawienie.
Statyczne łączenie na Windows wymaga Delphi XE2 lub nowszego i jest dostępne w edycjach Enterprise i All-Access.
Najkorzystniejsza oferta: All-AccessWszystkie produkty eSeGeCe, ze wsparciem Premium w cenie, już od €1,059 rocznie.