Wie kann ich Delphi XE2 dazu bringen, über SSL mit Google Kalender-APIs zu kommunizieren?

Es ist Zeit fürdiese Frage wieder, aber diesmal mit Delphi XE2.

Ich verwende die mit XE2 gelieferte Indy-Version 10.5.8.0 und habe vier verschiedene Versionen der SSL-DLLs ausprobiert. Ich habe 1.0.x zuletzt ausprobiert und ungefähr 3 verschiedene 0.9.8-Versionen (e, h, x, ....).

Keiner von ihnen funktioniert bei der Kommunikation mit https: // urls unter calendar.google.com. Der Autor der Delphi-Google-Kalender-Komponente unter "Sync-components.commsgstr "" "liefert seine eigenen binären OpenSL - DLL - Laufzeiten aus, die keine Versionsinformationen enthalten, aber es scheint sich um eine sehr kleine, sehr alte Version von SSL - Bibliotheken zu handeln, die älter als 0.9.8 sind. Der Autor der Komponente gibt an, dass nur seine privaten nicht versionierten DLLs bekannt sind Ich kann das nicht glauben. Sicherlich funktioniert mindestens eine Version der openSSL-DLLs gut genug mit Delphi XE2, um eine Verbindung zu Google Kalender herzustellen.

Damit seine benutzerdefinierte alte DLL in Delphi XE2 in Indy 10 geladen wird, ändert er die IdSSLOpenHeaders.pas-Methode Load am Ende wie folgt:

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

Natürlich funktioniert die Komponente, die ich evaluiere, in XE2 nicht, aber ich vermute, dass entweder (a) dieser bestimmte Schnappschuss von Indy 10, der mit XE2 geliefert wird, oder (b) die Tatsache, dass es sich bei der Welt der SSL-DLLs um eine solche handelt, fehlerhaft ist eine wahre Hölle von "für Sie gebrochen, aber für mich funktioniert" verschiedenen Versionen.

Was muss ich tun, um mit Indy (oder einer anderen Delphi-Komponentenbibliothek mit SSL-Unterstützung) in Delphi XE2 eine SSL-Verbindung zu Google Kalender herzustellen?

Wenn jemand eine Google Kalender-API-Implementierung hat, die mit etwas anderem als Indy funktioniert, das ich zum Testen verwenden könnte, wäre ich für Links und Verweise dankbar.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage