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.
Kod
Włącz OpenSSL
Ustaw TLSOptions.IOHandler na iohOpenSSL, a następnie wdróż biblioteki OpenSSL ze swoją kompilacją.