OpenSSL (iohOpenSSL) è il trasporto TLS multipiattaforma per sgcWebSockets. Funziona su ogni piattaforma supportata dalla libreria ed è il predefinito sulla maggior parte di esse, con la più ampia copertura di protocolli e cifrari tra tutti i backend. Abilitalo impostando TLSOptions.IOHandler su iohOpenSSL, poi distribuisci le librerie runtime di OpenSSL insieme alla tua applicazione.
TLS multipiattaforma implementato sul socket di Indy, disponibile su ogni piattaforma supportata da sgcWebSockets.
OpenSSL è l'implementazione TLS multipiattaforma che sgcWebSockets sovrappone al socket di Indy. È disponibile su Windows, Linux, macOS, iOS e Android, ed è il backend predefinito sulla maggior parte di essi. Scegli OpenSSL quando hai bisogno di un comportamento TLS identico su ogni piattaforma, oppure quando dipendi da una funzionalità esposta solo da OpenSSL.
Il backend copre TLS dalla 1.0 alla 1.3 con la più ampia selezione di suite di cifrari di qualsiasi trasporto sgcWebSockets. Puoi fidarti di un'autorità privata o autofirmata con una CA radice personalizzata (RootCertFile), presentare un certificato client per il TLS reciproco e annunciare protocolli applicativi come http/1.1 tramite ALPN. Poiché tutti e quattro i backend condividono la stessa API TLSOptions, il codice scritto per OpenSSL passa a un backend nativo cambiando solo la riga IOHandler.
Il compromesso è la distribuzione. OpenSSL è una dipendenza esterna, quindi spedisci le sue librerie runtime con la tua applicazione e le mantieni aggiornate. Su Windows significa libssl-3.dll e libcrypto-3.dll, su Linux e Android i file .so corrispondenti e sulle piattaforme Apple i file .dylib. Se desideri un TLS nativo senza alcuna libreria da distribuire, dai un'occhiata a SChannel su Windows oppure ai backend nativi di Android e Apple.
Codice
Abilita OpenSSL
Imposta TLSOptions.IOHandler su iohOpenSSL, poi distribuisci le librerie OpenSSL con la tua build.