Delphi XE2 FireMonkey和ssl

Delphi XE2 FireMonkey和ssl,delphi,ssl,https,Delphi,Ssl,Https,有人知道怎么用吗 使用Indy的ssl并使其在windowns和osX下运行? 我看到了下面的链接,所以TIdHttp似乎可以工作 但是我需要ssl选项 谢谢如果您正在使用XE2附带的Indy组件,那么您可以从OpenSSL下载Windows SSL二进制文件。对于Windows,请将这些文件与EXE文件放在同一文件夹中: libeay32.dll ssleay32.dll 您可以在此处找到指向最新Windows二进制文件的链接: 你不需要Visual C++ 2088的重新分配表,如果

有人知道怎么用吗 使用Indy的ssl并使其在windowns和osX下运行? 我看到了下面的链接,所以TIdHttp似乎可以工作 但是我需要ssl选项


谢谢

如果您正在使用XE2附带的Indy组件,那么您可以从OpenSSL下载Windows SSL二进制文件。对于Windows,请将这些文件与EXE文件放在同一文件夹中:

  • libeay32.dll
  • ssleay32.dll
您可以在此处找到指向最新Windows二进制文件的链接:

<>你不需要Visual C++ 2088的重新分配表,如果你只使用DLL,那么如果你得到一个安装警告,就忽略它。 然后,将TIdSSLIOHandleSocketOpenSSL组件添加到表单中。将TIDWTTP组件的IOHnandler属性设置为新的TIdSSLIOHandlerSocketOpenSSL组件

设置TIdSSLIOHandlerSocketOpenSSL组件的以下
SSLOptions

Mode := sslmClient;
这就是你所需要的。现在,当您调用“https://”而不是“http://”URL时,它将自动加载库并使用SSL组件


对于OS X,它附带了OpenSSL,尽管不是最新版本,因此您不需要添加任何DLL/dylibs。

理想情况下,您还可以验证证书,但我不知道如何使用Indy来验证。TidsLioHandlerSocketOpenSSL具有OnVerifyPeer事件。另外,Indy动态加载OpenSSL,即使在OSX上也是如此,因此它使用的是dynlb版本。@Remy,是否有关于如何验证证书的示例代码?Indy是否自动执行此操作?Indy不验证证书。OpenSSL本身就是这样做的。提供OnVerifyPeer事件,以便您可以自己检查证书并做出接受/拒绝决定以覆盖OpenSSL决定。