Certificati EC per server Indy in Delphi

· Funzionalità

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.