【发布时间】:2012-06-04 20:05:18
【问题描述】:
又到了this question 的时间,但这次是 Delphi XE2。
我正在使用 XE2 附带的 Indy 版本 10.5.8.0,并且我尝试了四种不同版本的 SSL dll。我尝试了最新的 1.0.x,以及大约 3 个不同的 0.9.8 版本(e、h、x、....)。
当与 calendar.google.com 上的 https:// 网址通信时,它们都不起作用。 “Sync-components.com”的 Delphi Google 日历组件的作者发布了他自己的二进制文件 openssl DLL 运行时中没有版本信息,但它似乎是比 0.9.8 更早的 SSL 库的非常小、非常旧的版本。该组件的作者说只有他的私有未版本化 DLL 可以工作。我不敢相信。当然,至少有一个版本的 openSSL dll 可以与 Delphi XE2 很好地连接到 Google 日历。
为了让他自定义的古代 DLL 在 Delphi XE2 中加载到 Indy 10 中,他在最后修改了 IdSSLOpenHeaders.pas 方法 Load,如下所示:
function Load: Boolean;
begin
/// ... lots of stuff
//Result := (FFailedFunctionLoadList.Count = 0); // original.
Result := (FFailedFunctionLoadList.Count <= 18); // changed to.
end;
当然,我正在评估的组件在 XE2 中不起作用,但我怀疑这是因为 (a) XE2 附带的 Indy 10 的特定快照,或者 (b) World of SSL DLL 是一个名副其实的“对你来说很糟糕,但对我有用”的不同版本的地狱。
在 Delphi XE2 中使用 Indy(或任何其他支持 SSL 的 delphi 组件库)获得与 Google Calendar 的 SSL 连接,我必须做些什么?
或者,如果有人有一个谷歌日历 API 实现,可以与除 Indy 之外的任何东西一起工作,我可以用来测试,我会很感激链接和指针。
【问题讨论】:
-
如果您有预算,请查看SecureBlackBox。他们有一个功能齐全的试用版。
-
他们提供通用的 https 支持,但甚至没有 Google 日历 API 的演示,这让我想知道 Google 日历的 HTTPS 身份验证选项是否有一些奇怪的东西,因为这就是我要问的:不只是 SSL,还有 GOOGLE 服务器 ssl。
标签: delphi openssl delphi-xe2 indy