OpenSSL 3.0은 더 이상 사용되지 않거나 안전하지 않은 여러 알고리즘을 legacy provider라는 내부 라이브러리 모듈로 이동했습니다. 기본적으로 로드되지 않으므로 암호화 작업에 OpenSSL을 사용하는 앱(또는 해당 언어 런타임)은 인증서를 로드하거나 메시지 다이제스트를 생성할 때 등에 이러한 알고리즘을 사용할 수 없습니다...
legacy provider의 알고리즘에는 MD2, MD4, MDC2, RMD160, CAST5, BF(Blowfish), IDEA, SEED, RC2, RC4, RC5, DES(3DES 제외)가 포함됩니다.
보안상의 이유로, 이러한 legacy 알고리즘의 사용을 폐기하는 것이 강력히 권장됩니다.
애플리케이션이 RC2-40-CBC와 같은 레거시 암호로 암호화된 파일에 저장된 클라이언트 인증서를 사용하는 경우, openssl 프로그램을 사용하여 인증서 파일을 다시 암호화함으로써 "현대화"할 수 있습니다.
예를 들어, 로컬 컴퓨터에 client.p12(또는 client.pfx) 인증서 파일이 있는 경우:
$ openssl pkcs12 -legacy -in client.p12 -nodes -out cert-decrypted.tmp
(프롬프트가 표시되면 passphrase 입력)
$ openssl pkcs12 -in cert-decrypted.tmp -export -out client-new.p12
(enter passphrases if prompted)
$ rm cert-decrypted.tmp
내보내진 client-new.p12 인증서 파일은 이제 동일한 키를 포함하지만 AES-256-CBC를 사용하여 암호화됩니다.
sgcWebSockets 및 sgcIndy 패키지에 대한 구성은 아래에서 확인하십시오: