升级Indy库以使用最新的OpenSSL库 [英] Upgrade Indy library to use latest OpenSSL library

查看:92
本文介绍了升级Indy库以使用最新的OpenSSL库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

将用Delphi编写的Indy库升级为使用具有最新功能(例如TLS v1.3)的最新OpenSSL库的过程是什么?

What is the process of upgrading Indy library written in Delphi to use the latest OpenSSL library having the newest features (eg. 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发生了更改。

The last version of Indy library I found uses libssl32.dll and ssleay32.dll DLLs. The latest OpenSSL library produces libssl-1_1.dll and libcrypto-1_1.dll DLLs. By changing the DLL names in Indy libray the dynamic loading of OpenSSL DLLs fails because many functions defined in Indy do not match the functions of OpenSSL DLLs. Thus OpenSSL API was changed.

据我了解,Indy库的Delphi源文件IdSSL * .pas应该进行升级:

A far as I understand Delphi source files IdSSL*.pas of Indy library should be upgraded:


  • IdSSL.pas

  • IdSSLDotNET.pas

  • IdSSLOpenSSL.pas

  • IdSSLOpenSSLHeaders.pas

  • IdSSLOpenSSLHeaders_static.pas

  • IdSSLOpenSSLUtils.pas

  • IdSSL.pas
  • IdSSLDotNET.pas
  • IdSSLOpenSSL.pas
  • IdSSLOpenSSLHeaders.pas
  • IdSSLOpenSSLHeaders_static.pas
  • IdSSLOpenSSLUtils.pas

推荐答案

由于具有最新功能1.1.x的OpenSSL库与受支持的OpenSSL库1.0.x之间的API不兼容,必须重新编写Indy代码。升级没有简单/通用的过程。

Due API incompatibilities between the OpenSSL library with the newest features 1.1.x and supported OpenSSL library 1.0.x, Indy code have to be reworked. There is no simple/common process for such upgrade.

这篇关于升级Indy库以使用最新的OpenSSL库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆