Como posso fazer com que o Delphi XE2 converse com as APIs do Google Agenda por SSL?

É tempo deessa questão novamente, mas desta vez com o Delphi XE2.

Eu estou usando o Indy versão 10.5.8.0 que vem com o XE2, e eu tentei quatro versões diferentes do SSL dlls. Eu tentei 1.0.x mais recente e cerca de 3 diferentes versões 0.9.8 (e, h, x, ....).

Nenhum deles funciona quando se comunica com https: // urls em calendar.google.com. O autor do componente Delphi Google Calendar em "Sync-components.commsgstr "envia seu próprio binário openssl DLL runtimes que não tem nenhuma informação de versão nele, mas parece ser uma versão muito pequena, muito antiga de bibliotecas SSL mais antigas que 0.9.8. O autor do componente diz que apenas suas DLLs privadas não versionadas são conhecidas. Certamente pelo menos uma versão do openSSL dlls funciona bem o suficiente com o Delphi XE2 para se conectar ao Google Calendar.

Para fazer com que sua antiga DLL customizada seja carregada no Indy 10 no Delphi XE2, ele modifica o método IdSSLOpenHeaders.pas Load, assim, no final:

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

É claro, o componente que estou avaliando não funciona no XE2, mas suspeito que seja o quebrantamento de um (a) instantâneo particular do Indy 10 que vem com o XE2, ou (b) o fato de que o World of SSL DLLs é um verdadeiro inferno de "quebrado para você, mas funciona para mim" versões diferentes.

O que preciso fazer para obter uma conexão SSL com o Google Calendar, usando o Indy (ou qualquer outra biblioteca de componentes do delphi com suporte SSL), no Delphi XE2?

Como alternativa, se alguém tiver uma implementação de API do Google Agenda que funcione com algo diferente de Indy que eu possa usar para teste, agradeço os links e os ponteiros.

questionAnswers(1)

yourAnswerToTheQuestion