Как заставить Delphi XE2 взаимодействовать с API Календаря Google через SSL?

Пришло время снова ответить на этот вопрос, но на этот раз с Delphi XE2.

Я использую Indy версии 10.5.8.0, которая поставляется с XE2, и пробовал четыре разные версии библиотек DLL SSL. Я пробовал последнюю версию 1.0.x и около 3 разных версий 0.9.8 (e, h, x, ....).

Ни один из них не работает при обращении к URL-адресам https:// на сайте calendar.google.com. Автор компонента Delphi Google Calendar по адресу "Sync-components.com" поставляет свой собственный двоичный файл. среды выполнения openssl DLL, в которых нет информации о версии, но, похоже, это очень маленькая, очень старая версия SSL-библиотек старше 0.9.8. Автор компонента говорит, что работают только его частные неверсионные библиотеки DLL. Я не могу в это поверить. Наверняка по крайней мере одна версия dll openSSL достаточно хорошо работает с Delphi XE2 для подключения к Календарю Google.

Чтобы загрузить свою древнюю DLL в Indy 10 в Delphi XE2, он модифицирует метод Load IdSSLOpenHeaders.pas следующим образом:

 function Load: Boolean;
 begin
   /// ... lots of stuff
   //Result := (FFailedFunctionLoadList.Count = 0); // original.
   Result := (FFailedFunctionLoadList.Count <= 18); // changed to.
 end;

Конечно, компонент, который я оцениваю, не работает. в XE2, но я подозреваю, что это неисправность либо (а) этого конкретного снимка Indy 10, который поставляется с XE2, либо (б) того факта, что World of SSL DLLs — настоящий ад «сломан для вас, но работает для меня "Разные версии.

Что мне нужно сделать, чтобы установить SSL-соединение с Календарем Google с помощью Indy (или любой другой библиотеки компонентов Delphi с поддержкой SSL) в Delphi XE2?

В качестве альтернативы, если у кого-то есть реализация API календаря Google, которая работает с чем-либо, кроме Indy, которую я мог бы использовать для тестирования, я был бы признателен за ссылки и указатели.

14
задан Community 23 May 2017 в 11:58
поделиться