OpenSSL 3.0 将多个已弃用或不安全的算法移入了一个名为 legacy provider 的内部库模块。该模块默认不加载,因此使用 OpenSSL 执行加密操作的应用程序(或其语言运行时)在加载证书、创建消息摘要时无法使用这些算法……
旧版提供商中的算法包括 MD2、MD4、MDC2、RMD160、CAST5、BF(Blowfish)、IDEA、SEED、RC2、RC4、RC5 和 DES(但不含 3DES)。
出于安全原因,强烈建议停止使用这些旧版算法。
如果您的应用程序使用了以旧版密码(如 RC2-40-CBC)加密的客户端证书文件,可以使用 openssl 工具对证书文件进行重新加密以"现代化"处理。
例如,如果您的本地计算机上有一个 client.p12(或 client.pfx)证书文件:
$ openssl pkcs12 -legacy -in client.p12 -nodes -out cert-decrypted.tmp
(如有提示,请输入密码短语)
$ openssl pkcs12 -in cert-decrypted.tmp -export -out client-new.p12
(如有提示,请输入密码短语)
$ rm cert-decrypted.tmp
导出的 client-new.p12 证书文件现在包含相同的密钥,但使用 AES-256-CBC 加密。
请参阅以下 sgcWebSockets 和 sgcIndy 包的配置: