CheckMail Gmail zaktualizowany w celu poprawy zgodności z SSL

Wygląda na to, że Google aktualizuje zabezpieczenia na niektórych swoich serwerach Gmaila. To, co zaczęło się jako sporadyczny problem, stało się łamaniem aplikacji, więc musieliśmy wydać zaktualizowaną wersję Sprawdź pocztę Gmail.

Właściwie to był dość interesujący problem do pracy, więc dla tych z was, którzy lubią bardziej techniczną stronę oprogramowania, tutaj jest trochę więcej szczegółów: -

W ostatnim czasie zidentyfikowano szereg luk w zabezpieczeniach związanych z protokołem TLS (SSL) v1.0 i obecnie uważa się, że najlepszą praktyką jest wzmacnianie serwerów, aby akceptowały tylko to, co (na razie) jest postrzegane jako bezpieczniejsza implementacja, złoty standard będąc TLS 1.2. Przynajmniej TLS 1.0 nie powinien być używany. Jednak kiedy tworzony był CheckMail GMail, najwyższym standardem w tamtym czasie był TLS 1.0, dlatego opracowaliśmy implementację naszego klienta SSL, aby była domyślnie używana. Działało to 100% czasu, dopóki wspomniane serwery nie zostały wzmocnione. Ponieważ Indy nie jest już tak naprawdę wspierany, a już na pewno nie w Delphi 6, którego używaliśmy do tworzenia wszystkich naszych wcześniejszych aplikacji, oznaczało to wiele pracy, aby to znów działało. Rozwiązanie, które znaleźliśmy, polegało na negocjacjach przez komponent klienta SSL kompatybilnego poziomu bezpieczeństwa z serwerem, co nie wydawało się być opcją w żadnej dokumentacji. Po wielu próbach i błędach odkryliśmy, że ustawienie SSLOptions.Method TIdSSLIOHandlerSocket na sslvSSLv23 spowodowało te negocjacje. Kto by pomyślał, że domyślne ustawienie TLS1.0 będzie łamaniem aplikacji? Nie jest to idealne rozwiązanie, ale bez nadziei, że TLSv1.2 zostanie zaimplementowane w kompatybilnej wersji komponentów Indy, na razie wystarczy. Mam nadzieję, że może się to przydać każdemu, kto utrzymuje starsze aplikacje Delphi, które nagle odkryły błędy SSL.

Lepszą wiadomością dla CheckMail jest to, że w przygotowaniu są plany bardziej nowoczesnego rozwiązania międzyplatformowego, wykorzystującego najnowsze narzędzia i technologie programistyczne, więc miej na to oko.

Leave a Reply