没有人知道如何使用 ssl与Indy并让它在windowns和osX下运行? 我已经看到下面的链接,所以TIdHttp似乎工作 ,但我需要的SSL选项。Delphi XE2 FireMonkey和ssl
感谢
没有人知道如何使用 ssl与Indy并让它在windowns和osX下运行? 我已经看到下面的链接,所以TIdHttp似乎工作 ,但我需要的SSL选项。Delphi XE2 FireMonkey和ssl
感谢
如果您使用的是与XE2附带的Indy组件,那么您可以在从OpenSSL的Windows的SSL二进制下降。对于Windows,把这些在同一文件夹作为您的EXE:
你会发现一个链接到最新的Windows二进制文件的位置:
http://www.openssl.org/related/binaries.html
如果您只是使用DLL,则不需要Visual C++ 2088可重新分发,因此如果您得到一个,请忽略安装警告。
然后,您将TIdSSLIOHandleSocketOpenSSL组件添加到您的表单中。将TIdHTTP组件的IOHnandler属性设置为新的TIdSSLIOHandlerSocketOpenSSL组件。
设置TIdSSLIOHandlerSocketOpenSSL组件以下SSLOptions
:
Mode := sslmClient;
这就是你需要的。现在,当您调用“https://”而不是“http://”URL时,它将自动加载库并使用SSL组件。
对于OS X,它带有OpenSSL,但不是最新版本,因此您不需要添加任何DLL/dylib。
理想情况下,你也可以验证证书,但我不知道如何用Indy做到这一点。 –
TIdSSLIOHandlerSocketOpenSSL有一个OnVerifyPeer事件。此外,即使在OSX上,Indy也会动态加载OpenSSL,因此它使用dynlb版本。 –
@Remy,有没有关于如何验证证书的示例代码? Indy会自动执行此操作吗? –