Deweloperzy! Let’s Encrypt DST Root CA X3 – wygasa. Starsze iPhone4 i HTC narażone.

Obrazek dla Deweloperzy! Let’s Encrypt DST Root CA X3 – wygasa. Starsze iPhone4 i HTC narażone.

Używasz darmowych certyfikatów od Let’s Encrypt? Otóż LE właśnie przypomniało że już 30 września 2021 r. upływa termin ważności ich starszego, ciągle używanego certyfikatu głównego DST Root CA X3.

Certyfikat DST Root CA X3 jest dołączany krzyżowo (ang. chain certificate) do głównego certyfikatu ISRG Root X1, głównie ze względu na wsparcie dla starszych urządzeń (np. telefonów), które nie otrzymują już wsparcia/aktualizacji i nie jest możliwe zaktualizowania polityki oprogramowania. Lecz właśnie ten dołączany certyfikat DST Root CA X3 już niedługo ulegnie przedawnieniu.

Jeśli udostępniasz API lub musisz obsługujesz urządzenia IoT problem wygaśnięcia DST Root CA X3 może dotyczyć Twojego oprogramowania oraz Twoich klientów.

Jak pisze Let’s Encrypt:

Kiedy zaczęliśmy, ten starszy certyfikat główny (DST Root CA X3) pomógł nam ruszyć z miejsca i uzyskać zaufanie niemal każdego urządzenia. Nowszy certyfikat główny (ISRG Root X1) jest teraz również powszechnie zaufany – ale niektóre starsze urządzenia nigdy mu nie zaufają, ponieważ nie otrzymują aktualizacji oprogramowania (na przykład iPhone 4 lub HTC Dream).

Pod tym adresem znajdziecie listę platform z podziałem na te, które w pełni obsługują ISRG Root X1 oraz DST Root CA X3 oraz listę niekompatybilności. Może się ona przydać developerom aplikacji mobilnych na iOS.

Co to jest „CA” w certyfikacie SSL?

W kryptografii (CA) oznacza urząd certyfikacji (ang. Certificate Authority) czyli zaufany organ, który finalnie wydaje i podpisuje cyfrowe certyfikaty SSL, które weryfikują witryny internetowe lub aplikacje, abyś wiedział, z kim twoje urządzenie komunikuje się online. Wykorzystywana jest budowa w strukturze łańcucha – tzw. certificate chain, gdzie łańcuch SSL rozpoczyna właśnie Root CA, poprzez certyfikat lub certyfikaty pośrednie (intermidiate CA), a na końcu zawsze znajduje się certyfikat SSL wydawany dla końcowego odbiorcy czyli np. domeny, z którą łączy się aplikacja.

CA od lets encrypt wygasa

Użytkownicy Androida mogą spać spokojnie?

Głównym czynnikiem decydującym o tym, czy platforma może weryfikować certyfikaty Let’s Encrypt, jest to, czy ta platforma ufa certyfikatowi nowszemu czyli ISRG Root X1 firmy ISRG. Niektóre platformy mogą weryfikować certyfikaty Let’s Encrypt, nawet jeśli certyfikaty nie zawierają ISRG Root X1, ponieważ dalej ufają certyfikatowi „DST Root CA X3” wystawionemu przez IdenTrust. Wraz z końcem września 2021 r. tylko te platformy, które ufają ISRG Root X1, będą nadal weryfikować certyfikaty Let’s Encrypt (za wyjątkiem Androida). Jak to?

Otóż: starsze urządzenia z Androidem, które nie ufają ISRG Root X1, dzięki specjalnemu znakowi krzyżowemu z DST Root CA X3, który obowiązuje po wygaśnięciu tego certyfikatu będą nadal współpracować z Let’s Encrypt. Prawie zabawne, bo ten wyjątek działa tylko w przypadku Androida.

Co muszę zrobić jeśli certyfikat wygaśnie?

Jeśli posiadasz zwykłą stronę WWW lub sklep, nie musisz robić nic. Natomiast jeśli udostępniasz API lub jako developer musisz obsługiwać urządzenia IoT, musisz upewnić się, że spełnione są dwa warunki:

  1. wszyscy klienci twojego API muszą ufać ISRG Root X1 (nie tylko DST Root CA X3) oraz
  2. jeśli klienci twojego API używają OpenSSL, muszą używać OpenSSL w wersji przynajmniej 1.1.0 lub w wersji nowszej. Ponieważ OpenSSL 1.0.x posiada wbudowane dziwactwo w weryfikacji certyfikatu. Co przekłada się na fakt, iż ​​nawet urządzenia, które ufają ISRG Root X1, poniosą porażkę weryfikacji, gdy otrzymają domyślnie zalecany przez Let’s Encrypt łańcuch certyfikatów zgodny z systemem Android.