Fla*_*viu 2 delphi openssl indy indy10
升级用Delphi编写的Indy库以使用具有最新功能的最新OpenSSL库(例如TLS v1.3)的过程是什么?
我发现的Indy库的最后一个版本使用libssl32.dll和ssleay32.dll DLL.最新的OpenSSL库生成libssl-1_1.dll和libcrypto-1_1.dll DLL.通过更改Indy libray中的DLL名称,OpenSSL DLL的动态加载失败,因为Indy中定义的许多函数与OpenSSL DLL的函数不匹配.因此OpenSSL API发生了变化.
据我所知,Delphi源文件应该升级Indy库的IdSSL*.pas:
正如您所观察到的,OpenSSL 1.1具有另一个API.目前,Indy仅使用1.0调用,并且不使用1.1特定功能,如异步处理.让Indy切换到Open SLL 1.1将是一个很大的重构(参见下面的Remy评论).
但是Indy使用的OpenSSL DLL并没有被弃用.该Fulgan参考资料网站拥有目前国内如openssl-1.0.2o-i386-win32.zip这是最新的稳定版本的分支提供,由官方OpenSSL的源代码表示.你是混乱的分支(1.0 vs 1.1 = API变化)和修订(1.0.2a vs 1.0.2o =新修复).
所以不要担心.如果您将Indy与适当的Cypher名称列表和最新的Fulgan DLL一起使用,那么您就是最新且安全的.有时比一些旧的Linux发行版更安全,后者可能会滞后于系统附带的修订版.即使是TLS 1.3仍然远非强制性,因为它尚未在客户端启用.我相信当Indy团队的某些功能成为必需功能(或切换到Windows SChannel API)时,它将支持1.1.
| 归档时间: |
|
| 查看次数: |
2355 次 |
| 最近记录: |