Indy prend en charge les certificats RSA et EC quand on utilise les bibliothèques openSSL, mais par défaut, les certificats EC peuvent être créés avec différentes courbes et les bibliothèques openSSL ne sont configurées qu'avec certaines de ces courbes. Donc si tu utilises un certificat EC qui n'est pas inclus par défaut par les bibliothèques openSSL, le certificat ne fonctionnera pas correctement.
Pour éviter ce problème, les serveurs Indy incluent désormais une nouvelle propriété appelée CurveList où tu peux définir les noms des courbes prises en charge.
La propriété CurveList est également prise en charge par notre bibliothèque sgcIndy gratuite.
Exemple
Pour configurer un certificat EC qui utilise la courbe brainpoolP256r1, définis les courbes suivantes avant de démarrer la connexion (ceci s'applique aux composants serveur et 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';
De cette façon, le client prendra en charge les courbes standard (comme la courbe secp256r1) et en plus la courbe brainpoolP256r1.
