Indy supporta i certificati RSA ed EC quando usa le librerie OpenSSL, ma per impostazione predefinita i certificati EC possono essere creati con curve diverse e le librerie OpenSSL sono configurate solo con alcune di queste curve. Quindi, se stai usando un certificato EC che non è incluso per default dalle librerie OpenSSL, il certificato non funzionerà correttamente.
Per evitare questo problema, i server Indy includono ora una nuova proprietà chiamata CurveList in cui puoi impostare i nomi delle curve supportate.
La proprietà CurveList è supportata anche dalla nostra libreria gratuita sgcIndy.
Esempio
Per configurare un certificato EC che usa la curva brainpoolP256r1, imposta le seguenti curve prima di avviare la connessione (vale sia per i componenti server sia per i componenti client).
// client component TsgcWebSocketClient1.TLSOptions.OpenSSL_Options.CurveList := 'P-521:P-384:P-256:brainpoolP256r1'; // server component TsgcWebSocketHTTPServer1.SSLOptions.OpenSSL_Options.CurveList := 'P-521:P-384:P-256:brainpoolP256r1';
In questo modo, il client supporterà le curve standard (come la curva secp256r1) e in più la curva brainpoolP256r1.
