Delphi XE2 FireMonkey 和 ssl
有谁知道如何使用 ssl 与 Indy 并让它在 windows 和 osX 下运行? 我看过下面的链接,所以 TIdHttp 似乎可以工作 但我需要 ssl 选项。
谢谢
does anyone know how to use
ssl with Indy and get it to run under windowns and osX?
I've seen the link below so TIdHttp appears to work
but I need the ssl options.
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您使用的是 XE2 附带的 Indy 组件,那么您可以从 OpenSSL 中放入 Windows SSL 二进制文件。对于 Windows,请将它们放在与 EXE 相同的文件夹中:
您将在此处找到最新 Windows 二进制文件的链接:
http://www.openssl.org/lated/binaries.html
如果您只是使用,则不需要 Visual C++ 2088 可再发行组件DLL,因此如果您收到安装警告,请忽略该警告。
然后,将 TIdSSLIOHandleSocketOpenSSL 组件添加到表单中。将 TIdHTTP 组件的 IOHnandler 属性设置为新的 TIdSSLIOHandlerSocketOpenSSL 组件。
设置 TIdSSLIOHandlerSocketOpenSSL 组件的以下
SSLOptions
:这就是您所需要的。现在,当您调用“https://”而不是“http://”URL 时,它将自动加载库并使用 SSL 组件。
对于 OS X,它附带 OpenSSL,尽管不是最新版本,因此您无需添加任何 DLL/dylib。
If you are using the Indy components that came with XE2, then you can drop in the Windows SSL binaries from OpenSSL. For Windows, put these in the same folder as your EXE:
You'll find a link to the latest Windows binaries here:
http://www.openssl.org/related/binaries.html
You don't need Visual C++ 2088 redistributables if you are just using the DLLs, so ignore the installation warning if you get one.
Then, you add a TIdSSLIOHandleSocketOpenSSL component to your form. Set the IOHnandler property of your TIdHTTP component to the new TIdSSLIOHandlerSocketOpenSSL component.
Set the following
SSLOptions
of the TIdSSLIOHandlerSocketOpenSSL component:That's all you need. Now when you call a 'https://' instead of a 'http://' URL, it will automatically load the libraries and use the SSL component.
For OS X, it comes with OpenSSL, though not the latest versions, so you don't need to add any DLLs/dylibs.