Delphi Indy 서버 EC 인증서

· 기능

Indy는 openSSL 라이브러리를 사용할 때 RSAEC 인증서를 지원하지만, 기본적으로 EC 인증서는 다양한 curve로 생성할 수 있고 openSSL 라이브러리는 그중 일부 curve만 설정되어 있어요. 그래서 openSSL 라이브러리에 기본 포함되지 않은 EC 인증서를 사용하면 인증서가 제대로 동작하지 않아요.

이 문제를 피하기 위해, 이제 Indy 서버에는 지원하는 curve 이름을 설정할 수 있는 CurveList라는 새 속성이 포함되어 있어요.

CurveList 속성은 무료 sgcIndy 라이브러리에서도 지원돼요.

예제

brainpoolP256r1 curve를 사용하는 EC 인증서를 설정하려면, 연결을 시작하기 전에 다음 curve를 설정해 주세요(서버와 클라이언트 컴포넌트 모두에 적용돼요).

// 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'; 

이렇게 하면 클라이언트는 표준 curve(예: secp256r1 curve)와 추가로 brainpoolP256r1 curve를 지원해요.