我确实希望答案是否定的,但也许我错了!
有没有办法在不使用DLL文件的情况下使用HTTPS连接(libeay32.dll和ssleay32.dll)???
或者我可以将它们嵌入到我的应用程序中并建立HTTPS连接而不提取它们吗?
我在我的应用程序Idhttp
...
答案 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,这意味着首先将它们解压缩。