sslchecker.pl

Aplikacja na Androida nie łączy się ze sklepem? Sprawdź certyfikat SSL

Strona w przeglądarce działa, a aplikacja na telefonie nie chce się połączyć. To prawie zawsze certyfikat — tylko nie ten problem, o którym myślisz.

Coraz więcej sklepów łączy się ze swoimi aplikacjami: magazynową, kurierską, do obsługi klienta. Wszystkie rozmawiają z serwerem sklepu przez HTTPS. I wszystkie są dużo mniej wyrozumiałe dla błędów certyfikatu niż przeglądarka na komputerze.

Dlaczego przeglądarka działa, a aplikacja nie

Przeglądarki na komputerze potrafią naprawić błędnie skonfigurowany serwer. Jeśli serwer nie wyśle certyfikatu pośredniego, przeglądarka często znajdzie go sama — w pamięci podręcznej z wcześniejszych wizyt albo pobierze go z adresu zapisanego w certyfikacie.

Aplikacje na Androidzie zwykle tego nie robią. Sprawdzają dokładnie to, co wysłał serwer. Brak certyfikatu pośredniego oznacza dla nich niezaufane połączenie i koniec rozmowy.

Android nie dopuszcza połączeń bez szyfrowania

Od Androida 9 aplikacje domyślnie nie mogą łączyć się przez zwykłe HTTP. Sklep bez certyfikatu albo z certyfikatem wygasłym nie połączy się więc z żadną współczesną aplikacją — niezależnie od tego, jak dobrze jest napisana.

Jak to sprawdzić w minutę

Wpisz domenę sklepu w sslchecker.pl i spójrz na trzy rzeczy:

  • Kompletność łańcucha — musi być zielona. To najczęstsza przyczyna problemów z aplikacjami.
  • Nazwa domeny w certyfikacie — musi zgadzać się z adresem, który wpisujesz w aplikacji. Certyfikat dla sklep.pl nie obejmie automatycznie api.sklep.pl.
  • Termin ważności — aplikacja przestanie działać tego samego dnia, w którym certyfikat wygaśnie.

Jak naprawić niekompletny łańcuch

Na hostingu z panelem: wyłącz i włącz ponownie certyfikat Let's Encrypt — panel zainstaluje go z pełnym łańcuchem. Przy certyfikacie kupionym i wgranym ręcznie: wklej w polu „CA bundle” lub „certyfikat pośredni” plik, który dostałeś od wystawcy. Na własnym serwerze z nginx wskaż plik fullchain.pem zamiast cert.pem.

Po zmianie sprawdź domenę jeszcze raz.

Przykład z praktyki: CallerPeek

CallerPeek to aplikacja na Androida, która przy połączeniu przychodzącym pokazuje kartę klienta z Twojego sklepu: nazwisko, liczbę zamówień, wartość zakupów i status ostatniego zamówienia. Telefon łączy się bezpośrednio z serwerem sklepu, bez chmury pośrednika — dlatego wymaga HTTPS i odrzuca połączenia nieszyfrowane.

Jeśli parowanie aplikacji ze sklepem się nie udaje, pierwszym krokiem jest właśnie sprawdzenie certyfikatu domeny sklepu w sprawdzarce.