Delphi Indy Server EC Certificates

· Recursos

O Indy suporta certificados RSA e EC ao usar as bibliotecas openSSL, mas, por padrão, os certificados EC podem ser criados com curvas diferentes e as bibliotecas openSSL são configuradas apenas com algumas dessas curvas. Então, se você estiver usando um certificado EC que não está incluído por padrão nas bibliotecas openSSL, o certificado não funcionará corretamente.

Para evitar esse problema, agora os servidores Indy incluem uma nova propriedade chamada CurveList onde você pode definir os nomes das curvas suportadas.

A propriedade CurveList também é suportada por nossa biblioteca gratuita sgcIndy.

Exemplo

Para configurar um certificado EC que está usando a curva brainpoolP256r1, defina as seguintes curvas antes de iniciar a conexão (isso se aplica aos componentes servidor e cliente).

// componente cliente
TsgcWebSocketClient1.TLSOptions.OpenSSL_Options.CurveList := 'P-521:P-384:P-256:brainpoolP256r1';
// componente servidor
TsgcWebSocketHTTPServer1.SSLOptions.OpenSSL_Options.CurveList := 'P-521:P-384:P-256:brainpoolP256r1';

Dessa forma, o cliente suportará as curvas padrão (como a curva secp256r1) e adicionalmente a curva brainpoolP256r1.