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