我可以在不使用(libeay32.dll和ssleay32.dll)文件的情况下使用HTTPS连接吗?

时间:2017-03-11 17:55:03

标签: delphi dll indy delphi-xe7

我确实希望答案是否定的,但也许我错了!

有没有办法在不使用DLL文件的情况下使用HTTPS连接(libeay32.dll和ssleay32.dll)???

或者我可以将它们嵌入到我的应用程序中并建立HTTPS连接而不提取它们吗?

我在我的应用程序Idhttp ...

中使用了indy库

1 个答案:

答案 0 :(得分:2)

  

有没有办法在不使用DLL文件的情况下使用HTTPS连接(libeay32.dll和ssleay32.dll)???

您可以使用任何所需的SSL库,只需要一个派生自TIdSSLIOHandlerSocketBase的包装器组件即可。然后,您可以在访问HTTPS网址之前将该组件分配给TIdHTTP.IOHandler属性。

Indy为OpenSSL(TIdSSLIOHandlerSocketOpenSSL)提供了这样的组件,但Indy并不专门依赖于OpenSSL。您可以编写自己的组件,也可以使用第三方组件(如Eldos SecureBlackBox中提供的组件)。

即使您使用OpenSSL,Indy 10也有一个IdSSLOpenSSLHeaders_static.pas单元用于静态链接OpenSSL。它主要仅适用于iOS,但如果您有适合的OBJ,它可以适用于其他平台。

  

或者我可以将它们嵌入到我的应用程序中并建立HTTPS连接而不提取它们吗?

如果您使用OpenSSL DLL,则需要将它们用作DLL,这意味着首先将它们解压缩。