Es sieht so aus, als hätte Google die Sicherheit auf einigen seiner GMail-Server aktualisiert. Was als sporadisches Problem begann, wurde zu Anwendungsunterbrechungen, und daher mussten wir eine aktualisierte Version von veröffentlichen CheckMail GMail.
Es war tatsächlich ein ziemlich interessantes Problem, an dem zu arbeiten war, also für diejenigen unter Ihnen, die die technisch anspruchsvollere Softwareseite der Dinge mögen, hier ein wenig mehr Details:-
In letzter Zeit wurde eine Reihe von Sicherheitslücken mit TLS (SSL) v1.0 identifiziert, und es gilt jetzt als bewährte Methode, Server so zu härten, dass sie nur akzeptieren, was (vorerst) als sicherere Implementierung gilt, der Goldstandard TLS 1.2 sein. Zumindest sollte TLS 1.0 nicht verwendet werden. Als CheckMail GMail erstellt wurde, war der damals höchste Standard TLS 1.0, und deshalb haben wir unsere SSL-Client-Implementierung so entwickelt, dass sie standardmäßig verwendet wird. Dies funktionierte 100% der Zeit, bis besagte Server gehärtet wurden. Da Indy nicht mehr wirklich unterstützt wird und schon gar nicht mit Delphi 6, mit dem wir alle unsere früheren Anwendungen entwickelt haben, war eine Menge Graben erforderlich, um dies wieder zum Laufen zu bringen. Die Lösung, die wir gefunden haben, bestand darin, die SSL-Client-Komponente eine kompatible Sicherheitsstufe mit dem Server aushandeln zu lassen, was in keiner der Dokumentationen eine Option zu sein schien. Nach langem, und ich meine viel Versuch und Irrtum haben wir herausgefunden, dass das Festlegen der SSLOptions.Method des TIdSSLIOHandlerSocket auf sslvSSLv23 diese Aushandlung verursacht hat. Wer hätte gedacht, dass die Standardeinstellung auf TLS1.0 ein Anwendungsbrecher wäre? Es ist nicht ideal, aber ohne Hoffnung, dass TLSv1.2 in einer kompatiblen Version der Indy-Komponenten implementiert wird, wird es vorerst reichen. Hoffentlich kann dies für alle da draußen nützlich sein, die ältere Delphi-Anwendungen warten, die plötzlich SSL-Fehler entdeckt haben.
Die bessere Nachricht für CheckMail ist, dass Pläne für eine modernere plattformübergreifende Lösung mit den neuesten Entwicklungstools und -technologien in der Pipeline sind, also halten Sie Ausschau danach.
