Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi7、Indy10、Openssl和Intraweb_Delphi_Ssl_Intraweb - Fatal编程技术网

Delphi7、Indy10、Openssl和Intraweb

Delphi7、Indy10、Openssl和Intraweb,delphi,ssl,intraweb,Delphi,Ssl,Intraweb,我不得不修改一个用Delphi7和Intraweb编写的非常旧的应用程序,以升级到最新的安全要求(Tls 1.2) 我使用的是delphi7、intraweb 8.0.2(非常旧,叹气)、indy 10、openssl、, 所以我开始制作一些简单的应用程序来测试所有这些组件 如果我只使用Delphi、Indy10、Openssl制作一个简单的服务器, 取自 它工作得很好 如果在启动应用程序时尝试使用Intraweb,并在ssloptions中指定端口443,则会出现以下错误: exceptio

我不得不修改一个用Delphi7和Intraweb编写的非常旧的应用程序,以升级到最新的安全要求(Tls 1.2) 我使用的是delphi7、intraweb 8.0.2(非常旧,叹气)、indy 10、openssl、, 所以我开始制作一些简单的应用程序来测试所有这些组件

如果我只使用Delphi、Indy10、Openssl制作一个简单的服务器, 取自

它工作得很好

如果在启动应用程序时尝试使用Intraweb,并在ssloptions中指定端口443,则会出现以下错误:

exception EidOSSLCouldNotLoadSSLLibray in module Standalone.exe
at 000EE8E1. Could not load SSL Libray
我还尝试使用函数拦截内部错误消息 WhichFailedToLoad,但返回空字符串

这就是问题所在:

是否可以使用openssl 1.0.2.c(以及下一版本) Delphi7、Intraweb 8.0.2和indy10? 在我看来,这是Intraweb的问题,因为Delphi+Indy+Openssl组合工作正常

我不想升级到更新版本的intraweb, 但如果这是必须的,我们可以考虑进行这样的升级

致以最良好的祝愿


Maurizio

项目的很多工作都是通过IntraWeb完成的吗?我很好奇坚持使用(旧版本)IntraWeb的主要原因。如果没有充分的理由,我会谦恭地建议大家看一看。它也是用Delphi 7编写的,并且很好地集成到IIS或HTTPAPI中(以及其他,但这两个设置TLS很简单)。IntraWeb使用Indy的私有内部副本,其中所有Indy单元都被重命名为使用
in
前缀,而不是
Id
。因此,请确保您调用的是IntraWeb版本的
,而不是Indy版本的
。这可能是空白字符串的原因。另外,IntraWeb 8非常旧,所以我怀疑它使用的是Indy 9(甚至8)而不是10。当时,Indy 8和大约9个版本依赖于自定义OpenSSL DLL,这些DLL导出了额外的Indy添加函数(后来Indy开始使用标准DLL时,这些函数被删除)。您可能必须在IntraWeb 8中使用这些自定义DLL。自定义DLL位于Fulgan的SSL存档文件夹中。