Najczęstsze pytania dotyczące migracji głównego urzędu certyfikacji w Google Maps Platform

Niniejszy dokument obejmuje następujące sekcje:

Aby uzyskać szczegółowe informacje o trwającej migracji głównego urzędu certyfikacji Google, zobacz Co się dzieje?

Terminologia

Poniżej przedstawiamy listę najważniejszych terminów, które musisz spełnić, co zna ten dokument. Bardziej kompleksowe omówienie powiązanych z terminologią, skorzystaj z Najczęstsze pytania na temat usług zaufania Google.

Certyfikat SSL/TLS
Certyfikat pozwala powiązać klucz kryptograficzny z tożsamością.
Certyfikaty SSL/TLS służą do uwierzytelniania i nawiązywania bezpiecznych połączeń do witryn. Certyfikaty są wystawiane i podpisywane kryptograficznie przez podmioty nazywanych urzędami certyfikacji.
Przeglądarki korzystają z certyfikatów wystawianych przez zaufane urzędy certyfikacji, że przesyłane informacje są wysyłane na właściwy serwer są zaszyfrowane podczas przesyłania.
SSL (Secure Sockets Layer)
Protokół Secure Sockets Layer jest najpopularniejszym protokołem używanym do szyfrowania komunikacji internetowej. Protokół SSL nie jest już uważany za bezpieczny, nie powinny być używane.
Protokół Transport Layer Security (TLS)
Transport Layer Security jest następcą protokołu SSL.
Urząd certyfikacji (CA)
Urząd certyfikacji jest jak biuro paszportowe z urządzeniami, a także ludzi. Wystawia chronione kryptograficznie dokumenty (certyfikaty) potwierdzają, że dany podmiot (np. witryna) jest tym, za kogo się podaje.
Przed wystawieniem certyfikatu urzędy certyfikacji muszą sprawdzić, czy i nazwiska w certyfikacie są powiązane z osobą lub podmiotem, który wysłał żądanie.
Termin „urząd certyfikacji” może odnosić się zarówno do organizacji, jak i organizacji takich jak Google w usługach zaufania i systemach, które wystawiają certyfikaty.
Magazyn certyfikatów głównych
Magazyn certyfikatów głównych zawiera zestaw zaufanych urzędów certyfikacji dostawcą oprogramowania użytkowego. Większość przeglądarek i systemów operacyjnych w magazynie certyfikatów głównych.
Aby urząd certyfikacji mógł zostać uwzględniony w magazynie certyfikatów głównych, spełniają rygorystyczne wymagania określone przez Dostawcę oprogramowania aplikacji.
Zazwyczaj dotyczy to zgodności ze standardami branżowymi, takimi jak Wymagania urzędu certyfikacji lub forum przeglądarek.
Główny urząd certyfikacji
Główny urząd certyfikacji (a dokładniej jego certyfikat) to najwyższy certyfikat w łańcuchu certyfikatów.
Certyfikaty głównego urzędu certyfikacji są zwykle podpisane samodzielnie. klucze prywatne powiązane z adresem są przechowywane w wysoce bezpiecznych obiektach, a przechowywanie offline aby chronić je przed nieuprawnionym dostępem.
Pośredni urząd certyfikacji
Pośredni urząd certyfikacji (a dokładniej jego certyfikat) to certyfikatu, który jest używany do podpisywania innych certyfikatów w łańcuchu certyfikatów.
Pośrednie urzędy certyfikacji służą głównie do wystawiania certyfikatów online, co umożliwia pozostawienie certyfikatu głównego urzędu certyfikacji w trybie offline.
Pośrednie urzędy certyfikacji są też nazywane podrzędnymi urzędami certyfikacji.
Urząd certyfikacji wydający
Certyfikat wystawiający certyfikat jest certyfikat używany do podpisywania certyfikatu najniższego poziomu w certyfikacie łańcuch.
Ten certyfikat jest po prostu nazywany certyfikatem subskrybenta. certyfikat jednostki końcowej lub certyfikat liścia. W tym dokumencie użyjemy również termin certyfikat serwera.
Łańcuch certyfikatów
Certyfikaty są powiązane z wydawcą (szyfrowanym podpisem). O łańcuch certyfikatów składa się z certyfikatu liścia, wszystkich certyfikatów wydawcy oraz certyfikat główny.
Podpisywanie krzyżowe
Dostawcy oprogramowania użytkowego klienci muszą zaktualizować swoje certyfikaty główne do przechowywania nowych certyfikatów CA, aby ich produkty były zaufane. Może minąć trochę czasu, zanim produkty zawierające nowe certyfikaty CA zostaną powszechnie stosowane.
Aby zwiększyć zgodność ze starszymi klientami, certyfikaty CA można „krzyżyk” przez inny starszy urząd certyfikacji. W efekcie powstaje drugiego certyfikatu CA dla tej samej tożsamości (nazwa i para kluczy).
W zależności od urzędów certyfikacji uwzględnionych w magazynie certyfikatów głównych klienty mogą utworzyć inny łańcuch certyfikatów od zaufanego rdzenia.

Informacje ogólne

Co się dzieje?

Koncepcja

W 2017 roku rozpoczęliśmy wieloletni projekt mający na celu wydanie i wykorzystanie własnego elementu głównego certyfikatów, czyli podpisów kryptograficznych, które stanowią podstawę korzystania z protokołu TLS w internecie. zabezpieczeń stosowanych w protokołach HTTPS.

Po pierwszym etapie zabezpieczenia TLS usług Google Maps Platform zostały poświadczono dzięki GS Root R2, dobrze znanym i powszechnie zaufanym urzędu certyfikacji (CA), który firma Google nabyła od GMO GlobalSign w celu przejście na wydane przez Google główne urzędy certyfikacji (GTS).

Praktycznie wszystkie klienty TLS (takie jak przeglądarki, smartfony i aplikacje) serwerów) zaufały temu certyfikatowi głównemu, dzięki czemu mogły nawiązać bezpieczne połączenie z serwerami Google Maps Platform podczas pierwszej fazy migracji.

Jednak urząd certyfikacji ze swoich ustawień nie może wystawiać certyfikatów, które są ważne poza okres ważności własnego certyfikatu. Gdy GS Root R2 wygaśnie 15 grudnia 2021 roku Google przeniesie własne usługi do nowego urzędu certyfikacji, GTS Root R1 Cross – użycie certyfikatu wystawionego przez główny urząd certyfikacji Google. GTS Root R1.

Zdecydowana większość nowoczesnych systemów operacyjnych i bibliotek klienta TLS zaufanym głównym urzędom certyfikacji GTS, aby zapewnić płynne przejście dla większości starszych systemów, firma Google uzyskała podpis krzyżowy od firmy GMO GlobalSign GlobalSign Root CA – R1, jeden z najstarszych i najbardziej zaufanych głównych urzędów certyfikacji obecnie i dostępności informacji.

Dlatego większość klientów Klienci Google Maps Platform będą już rozpoznają jeden (lub oba) z tych zaufanych głównych urzędów certyfikacji i zostaną a drugi etap migracji nie ma żadnego wpływu.

Dotyczy to także klientów, którzy podjęli działanie w pierwszej fazie migrację w 2018 r., zakładając, że przestrzegali oni w tym czasie naszych instrukcji, instalując wszystkie certyfikaty z naszego zaufanym pakietem głównym urzędów certyfikacji Google.

Zweryfikuj systemy, jeśli:

  • korzystasz z niestandardowych lub starszych platform i/lub utrzymujesz własny magazyn certyfikatów głównych
  • w latach 2017–2018 nie podjęto żadnych działań. migracji głównego urzędu certyfikacji lub nie zainstalowano pełnego zestawu certyfikatów zaufany pakiet głównego urzędu certyfikacji Google

Jeśli spełniasz powyższe warunki, być może będzie trzeba zastosować rekomendowane certyfikatów głównych, aby zapewnić nieprzerwane Google Maps Platform jest używane na tym etapie migracji.

Poniżej znajdziesz więcej szczegółów technicznych. Ogólne instrukcje znajdziesz zapoznaj się z sekcją Jak sprawdzić, czy mój magazyn certyfikatów głównych wymaga aktualizacji.

Zalecamy też dalsze przechowywanie certyfikatów głównych Zsynchronizuj z wybranym powyżej pakietem głównego urzędów certyfikacji, aby zapewnić bezpieczeństwo swoich usług w przyszłości zmian głównego urzędu certyfikacji. Ogłosimy to z wyprzedzeniem. Zobacz sekcje Jak uzyskać aktualne informacje na temat tego etapu migracji? oraz Jak mogę otrzymywać z wyprzedzeniem powiadomienia o przyszłych migracji? .

Podsumowanie techniczne

Zgodnie z ogłoszeniami z 15 marca 2021 r. blog o bezpieczeństwie w Google, GS Root R2 – główny urząd certyfikacji, z którego Google Maps Platform korzysta od początku 2018 roku wygaśnie 15 grudnia 2021 r. W związku z tym w tym roku przeprowadzić migrację do nowego urzędu certyfikacji GTS Root R1 Cross. Oznacza to, że nasze usługi stopniowo przechodzi na certyfikaty liścia TLS wystawione przez ten nowy urząd certyfikacji.

Prawie wszystkie nowoczesne klienty i systemy TLS są już wstępnie skonfigurowane za pomocą funkcji GTS Root R1 lub powinien otrzymywać go po standardowych aktualizacjach oprogramowania, i GlobalSign Root CA – R1 powinny być dostępne nawet w starszych, starszych systemach.

Sprawdź jednak swoje systemy co najmniej wtedy, gdy: zastosuj:

  • Twoje usługi działają na niestandardowych lub starszych platformach i/lub własny magazyn certyfikatów głównych
  • w latach 2017–2018 nie podjęto żadnych działań. migracji głównego urzędu certyfikacji lub nie zainstalowano pełnego zestawu certyfikatów zaufany pakiet głównego urzędu certyfikacji Google

Sekcja Jak sprawdzić, czy mój magazyn certyfikatów głównych wymaga aktualizacji zawiera ogólne informacje wskazówek, jak sprawdzić, czy wpłynie to na Twój system.

Zobacz pytanie Dlaczego należy synchronizować magazyn certyfikatów głównych z pakietem zaufanych certyfikatów głównych Google? .

Jak uzyskać aktualne informacje na temat tego etapu migracji?

Oznacz gwiazdką numer publiczny 186840968 dla aktualizacje. To pytanie jest aktualizowane w trakcie procesu migracji, za każdym razem, gdy napotkania tematów, które mogą być dla nich interesujące.

Jak mogę otrzymywać z wyprzedzeniem powiadomienia o przyszłych migracji?

Zalecamy stosowanie się do Blog Google o bezpieczeństwie. Będziemy także dążyć do: jak najszybciej zaktualizuj dokumentację konkretnej usługi, postępując zgodnie z opublikowaliśmy na blogu.

Zasubskrybuj również Powiadomienia z Google Maps Platform, ponieważ regularnie publikujemy na forum informacje o zmianach, które mogą na większą liczbę klientów.

Korzystamy z wielu usług Google. Czy migracja głównego urzędu certyfikacji będzie miała wpływ na wszystkie z nich?

Tak. Migracja głównego urzędu certyfikacji zostanie przeprowadzona we wszystkich usługach i interfejsach API Google, ale Harmonogram może się różnić w zależności od usługi. Gdy jednak upewnisz się, że kanał główny magazyny certyfikatów używane przez aplikacje klienckie Google Maps Platform zawiera wszystkie urzędy certyfikacji wymienione w zaufanego pakietu głównego urzędu certyfikacji Google, Trwająca migracja nie powinna mieć wpływu na usługi, więc zachowaj je Synchronizacja chroni Cię także przed przyszłymi zmianami głównego urzędu certyfikacji.

Zobacz pytania Dlaczego należy synchronizować magazyn certyfikatów głównych z pakietem zaufanych certyfikatów głównych Google? oraz Jakie aplikacje mogą ulec awarii? .

Sekcja Jak sprawdzić, czy mój magazyn certyfikatów głównych wymaga aktualizacji poniżej zawiera też informacje ogólne instrukcje dotyczące testowania systemu.

Jak sprawdzić, czy mój magazyn certyfikatów głównych wymaga aktualizacji

Przetestuj środowisko aplikacji pod kątem testowych punktów końcowych wymienionych poniżej:

System będzie zwykle zgodny ze zmianą głównego urzędu certyfikacji, jeśli:

  • że Twoja usługa działa w tradycyjnym systemie operacyjnym. i wprowadzała poprawki systemu operacyjnego i bibliotek, z których korzysta usługa i nie posiadasz własnego magazynu certyfikatów głównych ani:
  • zgodnie z naszymi poprzednimi zaleceniami oraz zainstalowano wszystkie główne urzędy certyfikacji zaufany pakiet głównego urzędu certyfikacji Google,

Klienci, których to dotyczy, powinni natychmiast zainstalować certyfikaty z zaufanego pakietu głównego urzędu certyfikacji Google w uniknąć przerw w działaniu usługi w przyszłości.

Zobacz pytanie Dlaczego należy synchronizować magazyn certyfikatów głównych z pakietem zaufanych certyfikatów głównych Google? .

Czy istnieje proste narzędzie, za pomocą którego mogę sprawdzić magazyn certyfikatów głównych?

Dwa narzędzia wiersza poleceń curl i openssl mogą być przydatne w dochodzenia. Obie są dostępne na większości platform i oferują szeroki wybór aby przetestować konfigurację.

Instrukcje uzyskiwania dostępu do curl znajdziesz w sekcji Uzyskiwanie curl poniżej.

Widoczne poniżej polecenia openssl dotyczą wersji 1.1.1 lub nowszej. Wersje starsze niż 1.1.1 nie są obsługiwane. Jeśli używasz starszej wersji, uaktualnić lub zmodyfikować te polecenia zależnie od potrzeb. Instrukcje dotyczące uzyskiwania openssl zapoznaj się z sekcją Uzyskiwanie OpenSSL poniżej.

Przydatne narzędzia znajdziesz również Gdzie znajdę potrzebne narzędzia? poniżej.

Konkretne instrukcje testowania można znaleźć w sekcji Jak sprawdzić, czy mój magazyn certyfikatów głównych wymaga aktualizacji

Testowanie domyślnego magazynu certyfikatów głównych

curl -vvI https://maps.googleapis.com; \
openssl s_client -connect maps.googleapis.com:443 -showcerts </dev/null; \
curl -vvI https://good.gtsr1.demo.pki.goog/; \
openssl s_client -connect good.gtsr1.demo.pki.goog:443 -showcerts </dev/null; \
curl -vvI https://good.gtsr1x.demo.pki.goog/; \
openssl s_client -connect good.gtsr1x.demo.pki.goog:443 -showcerts </dev/null;

Weryfikowanie pakietu zaufanego głównego urzędu certyfikacji Google

Pobierz zaufanego pakietu głównego urzędu certyfikacji Google, a wykonaj te czynności:

curl -vvI --cacert roots.pem https://maps.googleapis.com; \
openssl s_client -CAfile roots.pem -connect maps.googleapis.com:443 -showcerts </dev/null; \
curl -vvI --cacert roots.pem https://good.gtsr1.demo.pki.goog/; \
openssl s_client -CAfile roots.pem -connect good.gtsr1.demo.pki.goog:443 -showcerts </dev/null; \
curl -vvI --cacert roots.pem https://good.gtsr1x.demo.pki.goog/; \
openssl s_client -CAfile roots.pem -connect good.gtsr1x.demo.pki.goog:443 -showcerts </dev/null;

Jak i kiedy będzie kontynuowana migracja głównego urzędu certyfikacji Google?

  1. Pierwsza faza (migracja do GS Root R2), ogłoszono w styczniu 2017 r., rozpoczęła się pod koniec 2017 r., a zakończyła w pierwszej połowie 2018 r.
  2. Druga faza (migracja do GTS Root R1 Cross) ogłoszono w marcu 2021 r., i udostępnimy ją w nadchodzących miesiącach, przed wygaśnięciem GS Root R2 15 grudnia 2021 r.

Harmonogramy kolejnych etapów migracji zostaną ogłoszone z dużym wyprzedzeniem wygaśnięcia certyfikatów w przyszłości.

Będziesz jednak mieć możliwość przygotowania aplikacji na przyszłość, jeśli zachowasz są przechowywane wraz z wybranymi certyfikatami głównymi zaufanym pakietem Google głównych CA.

Zobacz też pytanie Dlaczego należy synchronizować magazyn certyfikatów głównych z pakietem zaufanych certyfikatów głównych Google? aby uzyskać więcej informacji.

Ogólny plan wdrożenia każdej usługi Google

  1. Wdrażanie etapowe rozpoczyna się w jednym centrum danych.
  2. Stopniowo rozszerzamy wdrożenie na kolejne centra danych aż do uzyskania globalnego zasięgu zasięgu.
  3. Jeśli na którymkolwiek etapie wykryjemy poważne problemy, testy mogą zostać wycofane tymczasowo na czas rozwiązywania problemów.
  4. Na podstawie danych z poprzednich iteracji stwierdziliśmy, że dalsze usługi Google uwzględnione we wdrożeniu do czasu, aż wszystkie usługi Google zostaną stopniowo przeniesione do nowe certyfikaty.

Kogo, kiedy i gdzie dotyczy ta zmiana?

Coraz więcej deweloperów korzystających z Google Maps Platform zacznie otrzymywać powiadomienia nowe certyfikaty w miarę migracji nowych centrów danych. Zmiany zostaną są zlokalizowane, ponieważ żądania klientów są zwykle przekazywane do serwerów centra danych w pobliżu geograficznie.

Nie możemy z wyprzedzeniem określić, kogo, kiedy i gdzie zostaną objęte zmianami, zalecamy wszystkim naszym klientom przejście weryfikacji i przygotowanie usług na przyszłość z dużym wyprzedzeniem przed możliwymi etapami migracji głównego urzędu certyfikacji Google.

Więcej informacji znajdziesz w sekcji Jak sprawdzić, czy mój magazyn certyfikatów głównych wymaga aktualizacji. ze wskazówkami.

Na co zwrócić uwagę

Klienty, które nie mają skonfigurowanego wymaganego certyfikatu głównego, nie zostaną mogą zweryfikować swoje połączenie TLS z Google Maps Platform. W tym w takiej sytuacji klient zwykle wyświetla ostrzeżenie, że weryfikacja certyfikatu nie powiodło się.

W zależności od konfiguracji TLS klienty mogą nadal wysyłać Google Maps Platform lub może odmówić kontynuowania użytkownika.

Jakie są minimalne wymagania, które musi spełniać klient TLS, aby mógł komunikować się z Google Maps Platform?

Certyfikaty Google Maps Platform wykorzystują nazwy alternatywne DNS Subject Alternative Names (SAN), więc obsługa certyfikatów klienta musi obsługiwać numery SAN, które mogą zawierać pojedynczy symbol wieloznaczny jako etykieta pierwszej z lewej strony w nazwie, na przykład *.googleapis.com.

Inne wymagania znajdziesz w sekcji Jakie są zalecane wymagania, które musi spełniać klient TLS do komunikacji z Google? w Najczęstszych pytaniach na temat GTS.

Jakiego rodzaju aplikacje są narażone na awarię?

Aplikacja używa systemowego magazynu certyfikatów głównych bez ograniczeń nałożonych przez programistę

Aplikacje usług internetowych Google Maps Platform

Jeśli używasz głównego systemu operacyjnego, np. Ubuntu, Red Hat, Windows 10 lub Server 2019, OS X), który wciąż jest utrzymywany i jest regularnie aktualizowany. Domyślnym ustawieniem jest magazyn certyfikatów głównych powinien już zawierać certyfikat GTS Root R1.

Jeśli korzystasz ze starszej wersji systemu operacyjnego, która nie otrzymuje już aktualizacji, możesz: może nie mieć certyfikatu GTS Root R1. Twoje certyfikaty główne najprawdopodobniej będzie zawierać GlobalSign Root CA – R1, jeden z najstarszych o najbardziej zaufanych głównych urzędach certyfikacji.

W przypadku aplikacji mobilnych wywołujących bezpośrednio usługi internetowe Google Maps Platform z urządzenia użytkownika końcowego, wytyczne z pytania Czy aplikacje mobilne mogą się zepsuć? zastosuj.

Aplikacje Google Maps Platform po stronie klienta

Aplikacje Maps JavaScript API zwykle korzystają z katalogu głównego certyfikatów przeglądarki internetowej, w której działa aplikacja. Patrz sekcja Czy aplikacje JavaScript mogą ulec awarii? .

W przypadku natywnych aplikacji mobilnych używających dowolnego pakietu Maps SDK na Androida Maps SDK na iOS, Places SDK na Androida lub SDK Miejsc dla systemu iOS dotyczą tych samych reguł, co w przypadku aplikacji wywołujących Usługi internetowe Google Maps Platform.

Zobacz pytanie Czy aplikacje mobilne mogą się zepsuć? .

Aplikacja używa własnego pakietu certyfikatów lub zaawansowanych funkcji zabezpieczeń takich jak przypinanie certyfikatów

Pamiętaj, aby samodzielnie zaktualizować pakiet certyfikatów. Zgodnie z naszą rozmową kwestionowane Dlaczego warto synchronizować magazyn certyfikatów głównych z pakietem zaufanych certyfikatów głównych Google?, zalecamy zaimportowanie wszystkich certyfikatów z zaufanego pakietu głównego urzędu certyfikacji Google w własnego magazynu certyfikatów głównych.

Jeśli przypinasz certyfikaty lub klucze publiczne domen Google, z którą łączy się aplikacja, należy dodać certyfikaty i klucze publiczne do listę zaufanych podmiotów w Twojej aplikacji.

Więcej informacji o przypinaniu certyfikatów i kluczy publicznych znajdziesz tutaj materiałów zewnętrznych wymienionych pod pytaniem Potrzebujesz więcej informacji?.

Dlaczego magazyn certyfikatów głównych należy synchronizować z pakietem zaufanego głównego urzędu certyfikacji Google?

Wyselekcjonowana lista głównych urzędów certyfikacji w zaufany pakiet głównego urzędu certyfikacji Google obejmuje wszystkie urzędy certyfikacji, które mogą być używane przez usługi Google w najbliższej przyszłości.

Dlatego zdecydowanie zalecamy sprawdź, czy magazyn certyfikatów głównych zawiera wszystkie certyfikaty. i regularnie je ze sobą synchronizują.

Jest to szczególnie ważne, jeśli usługi działają w nieobsługiwanym systemie operacyjnym wersji systemu, ale z innych powodów nie można zachować systemu operacyjnego i biblioteki z poprawkami lub własny magazyn certyfikatów głównych.

Zobacz pytanie Jak mogę otrzymywać z wyprzedzeniem powiadomienia o przyszłych migracji? . Rutynowo synchronizacja magazynu certyfikatów głównych z listą wybranych zabezpieczanie usług przed przerwami w działaniu usługi w przyszłości z powodu zmian urzędu certyfikacji, i będą działać po wygaśnięciu obu GTS Root R1 Cross i GlobalSign Root CA – R1.

Zapoznaj się także z pytaniem Tworzę usługę, która łączy się z usługami Google. Jakim certyfikatom CA muszę ufać? w Najczęstszych pytaniach na temat GTS.

Dlaczego nie należy instalować żadnych certyfikatów liści ani pośrednich certyfikatów CA?

Ryzyko zepsuć Twojego zgłoszenia w dowolnym momencie, gdy zarejestrujemy nowego lub zmień pośrednie urzędy certyfikacji. Każda z tych sytuacji może wystąpić w dowolnym momencie w tym czasie i bez wcześniejszego powiadomienia. Odnosi się on w równym stopniu do poszczególnych serwerów certyfikaty, takie jak te obsługiwane przez maps.googleapis.com, a także wszystkie naszych pośrednich urzędów certyfikacji, takich jak GTS Root R1 Cross.

Aby zabezpieczyć swoje usługi, zainstaluj tylko roota certyfikatów z zaufany pakiet głównego urzędu certyfikacji Google oraz polegać wyłącznie na certyfikacie głównym, aby zweryfikować wiarygodność zakotwiczonego do niego całego łańcucha certyfikatów.

Każda nowoczesna biblioteka TLS powinna umożliwiać automatyczną weryfikację takie łańcuchy zaufania, o ile główny urząd certyfikacji jest zaufany.

Czy aplikacje JavaScript mogą ulec awarii?

Certyfikaty główne GTS są już dobrze osadzone i zaufane przez większość współczesnych i znaki krzyżowe z GMO GlobalSign powinny nawet w przypadku większości użytkowników starszych przeglądarek. Obejmuje to wszystkie oficjalnie obsługiwane przeglądarki Maps JavaScript API.

Każda nowoczesna przeglądarka powinna umożliwiać użytkownikom weryfikację i zwykle edycję zaufanych certyfikatów przeglądarki. Chociaż dokładna lokalizacja jest różna lista certyfikatów jest zwykle dostępna Ustawienia.

Czy aplikacje mobilne mogą ulec awarii?

Urządzenia z Androidem i Apple iOS nadal otrzymują regularne aktualizacje z urządzenia. również producenci muszą być nastawieni na przyszłość. większość starszych telefonów z Androidem, modele obejmują co najmniej certyfikat GlobalSign Root CA – R1, chociaż lista zaufanych certyfikatów może się różnić w zależności od producenta telefonu, modelu urządzenia Wersja Androida.

Obsługa głównych urzędów certyfikacji GTS, w tym GTS Root R1, może jednak nadal być ograniczona w Androidzie w wersji starszej niż 10.

W przypadku urządzeń z iOS Apple prowadzi listę zaufanych głównych urzędów certyfikacji dla każdego ostatniego na swoich stronach pomocy. Jednak wszystkie systemy iOS w wersji 5 i nowszych GlobalSign Root CA – R1.

Główne urzędy certyfikacji GTS, w tym GTS Root R1, są obsługiwane od wersji iOS 12.1.3.

Zobacz pytanie Jak mogę sprawdzić zaufane certyfikaty główne na telefonie komórkowym? aby dowiedzieć się więcej.

Kiedy moja przeglądarka lub system operacyjny będą zawierać certyfikaty główne Google Trust Services?

W ciągu ostatnich lat firma Google intensywnie współpracowała ze wszystkimi największymi firmami zewnętrznymi utrzymywania powszechnie używanych, zaufanych pakietów certyfikatów głównych. Przykłady: producentów systemów operacyjnych, takich jak Apple czy Microsoft, ale też własne zespoły ds. Androida i Chrome OS; takich jak Mozilla, Apple, Microsoft i zespołu Google Chrome; producentów sprzętu, takich jak telefony, dekodery, telewizory, konsole do gier, drukarki – to tylko przykłady.

W związku z tym jest bardzo prawdopodobne, że każdy obecnie utrzymywany system obsługują nowe główne urzędy certyfikacji Google w GTS, w tym GTS Root R1, a nawet starsze najprawdopodobniej będą obsługiwać GlobalSign Root CA – R1, który będzie używane do podpisywania krzyżowego certyfikatów wystawionych przez Google w kolejnych latach.

Ponieważ jednak harmonogram uwzględniania certyfikatów innych firm w dużej mierze wykracza poza zakres kontroli nad Google, najlepszą poradą jest upewnić się, regularnie instalują dostępne aktualizacje systemu.

Wybrane firmy zewnętrzne, np. Mozilla's CA Certificate Program, udokumentowali swoje własne harmonogramy uwzględniania certyfikatów

Rozwiązywanie problemów

Gdzie mogę znaleźć potrzebne narzędzia?

Tworzenie skrętu

Jeśli w Twojej dystrybucji systemu operacyjnego nie ma curl, możesz go pobrać. z https://curl.haxx.se/. Możesz: pobierz źródło i skompiluj narzędzie samodzielnie lub pobierz gotowe binarny, jeśli jest dostępny dla Twojej platformy.

Uzyskiwanie OpenSSL

Jeśli w Twojej dystrybucji systemu operacyjnego nie ma openssl, możesz pobrać aplikację źródło ze strony https://www.openssl.org/ i skompilować narzędzie. Listę plików binarnych utworzonych przez inne firmy znajdziesz w https://www.openssl.org/community/binaries.html. Jednak żadna z tych budowli nie jest wspierana ani promowana z zespołem OpenSSL.

Pobieram Wireshark, Tshark lub Tcpdump

Choć w większości dystrybucji Linuksa dostępna jest usługa wireshark, narzędzie wiersza poleceń tshark i tcpdump, wstępnie skompilowane wersje pierwszych dwóch dla innych systemów operacyjnych mogą znajdziesz na https://www.wireshark.org.

Kod źródłowy Tcpdump i LibPCAP można znaleźć na stronie https://www.tcpdump.org.

Dokumentację tych przydatnych narzędzi znajdziesz w Instrukcja obsługi Wireshark, na stronie man Tshark oraz na stronie man Tcpdump, .

Uzyskiwanie narzędzia Java Keytool

Narzędzie wiersza poleceń keytool powinno być zainstalowane z każdą wersją w języku Java Wersja pakietu dla programistów (JDK) lub środowiska wykonawczego Java (JRE). Zainstaluj aby uzyskać keytool. Jednak użycie keytool jest mało prawdopodobne niezbędne do weryfikacji certyfikatu głównego, chyba że aplikacja została utworzona używając języka Java.

Co robić w przypadku przerwy w działaniu środowiska produkcyjnego

Podstawowym sposobem działania jest zainstalowanie wymaganego poziomu głównego certyfikatów z zaufanego pakietu głównego urzędu certyfikacji Google w w których są przechowywane certyfikaty główne używane przez aplikację.

  1. Współpracuj z administratorami systemu, aby uaktualnić system lokalny z magazynem certyfikatów głównych.
  2. Wskazówki dotyczące Twojego systemu znajdziesz w odpowiedziach na najczęstsze pytania.
  3. Jeśli potrzebujesz dodatkowej pomocy dotyczącej platformy lub systemu, skontaktuj się z kanały pomocy technicznej oferowane przez dostawcę systemu.
  4. Aby uzyskać ogólną pomoc, skontaktuj się z naszym zespołem pomocy zgodnie z opisem w artykule (sekcja) Kontaktowanie się z zespołem pomocy Google Maps Platform. Uwaga: w przypadku problemów związanych z konkretnymi platformami wskazówki są podawane tylko wtedy, gdy podstaw.
  5. Oznacz gwiazdką numer publiczny 186840968 dla dalsze aktualizacje związane z migracją.

Kontaktowanie się z zespołem pomocy Google Maps Platform

Wstępne rozwiązywanie problemów

Patrz sekcja Jak sprawdzić, czy mój magazyn certyfikatów głównych wymaga aktualizacji .

Sekcja Zarządzanie zaufanymi certyfikatami może podawaj też cenne informacje, jeśli chcesz zaimportować lub wyeksportować katalog główny certyfikatów.

Jeśli problem nie został rozwiązany, ale zdecydujesz się skontaktować z zespołem Google Maps Platform bądź wsparciem, przygotuje również następujące informacje:

  1. Gdzie znajdują się serwery, których dotyczy problem?
  2. Na które adresy IP Google dzwoni Twoja usługa?
  3. Których interfejsów API dotyczy ten problem?
  4. Kiedy dokładnie pojawił się problem?
  5. Wyniki tych poleceń:

    curl -vvI https://maps.googleapis.com; \
    openssl s_client -connect maps.googleapis.com:443 -showcerts </dev/null; \
    curl -vvI https://good.gtsr1.demo.pki.goog/; \
    openssl s_client -connect good.gtsr1.demo.pki.goog:443 -showcerts </dev/null; \
    curl -vvI https://good.gtsr1x.demo.pki.goog/; \
    openssl s_client -connect good.gtsr1x.demo.pki.goog:443 -showcerts </dev/null;
    

Instrukcje uzyskiwania wymaganych narzędzi znajdziesz tutaj: Gdzie znajdę potrzebne narzędzia?

Wysyłanie zgłoszenia do zespołu pomocy

Postępuj zgodnie z instrukcjami dotyczącymi Tworzenie zgłoszenia do zespołu pomocy poniżej Pomoc i materiały dotyczące Google Maps Platform.

Podczas przesyłania zgłoszenia do zespołu pomocy, oprócz danych wymienionych w sekcji Wstępne rozwiązywanie problemów: podaj też :

  • Jakie są Twoje publiczne adresy IP?
  • Jaki jest publiczny adres IP Twojego serwera DNS?
  • Jeśli to możliwe, przechwycenie pakietów tcpdump lub Wireshark z nieudanym protokołem TLS negocjacji z zasadą https://maps.googleapis.com/ w formacie PCAP, przy użyciu wystarczająco dużej długości zrzutu, aby przechwycić cały pakiet bez skrócenie go (np. użycie -s0 w starszych wersjach tcpdump).
  • Jeśli to możliwe, loguje fragmenty Twojej usługi przedstawiające dokładne połączenie TLS powodu awarii, najlepiej wraz z pe��nymi informacjami o łańcuchu certyfikatów serwera.

Instrukcje uzyskiwania wymaganych narzędzi znajdziesz tutaj: Gdzie znajdę potrzebne narzędzia?

Publikowanie w sprawie problemu publicznego: 186840968

Podczas publikowania komentarza na temat problemu publicznego 800-702-379 Podaj informacje wymienione w sekcji Wstępne rozwiązywanie problemów

Jak mogę określić publiczny adres DNS?

W Linuksie możesz uruchomić następujące polecenie:

dig -t txt o-o.myaddr.l.google.com

W systemie Windows można używać narzędzia nslookup w interaktywny tryb:

C:\> nslookup -
set type=TXT
o-o.myaddr.l.google.com

Jak interpretować wynik działania polecenia curl

Bardzo przydatne jest uruchomienie polecenia curl z flagami -vvI i informacjami o nich. Oto kilka instrukcji, które pomogą Ci zinterpretować wyniki:

  • Wiersze zaczynające się od „*” wyświetl dane wyjściowe z protokołu TLS negocjacje, a także informacje o zakończeniu połączenia.
  • Wiersze zaczynające się od „>” aby wyświetlić wychodzące żądania HTTP, curl wysyła wiadomość.
  • Wiersze zaczynające się od „<” wyświetl otrzymaną odpowiedź HTTP serwera.
  • Jeśli protokół był HTTPS, obecność „>” lub „<” linie sugerują, że udanego uzgadniania połączenia TLS.

U��yto biblioteki TLS i pakietu certyfikatów głównych

Uruchomienie polecenia curl z flagami -vvI powoduje również wydrukowanie używany magazyn certyfikatów głównych, ale dokładne dane wyjściowe mogą być różne w zależności od systemu, jak pokazano tutaj.

Dane wyjściowe z komputera Red Hat z systemem Linux i połączeniem curl z NSS może zawierać te wiersze:

* Initializing NSS with certpath: sql:/etc/pki/nssdb
* CAfile: /etc/pki/tls/certs/ca-bundle.crt
  CApath: none

Dane wyjściowe z komputera z systemem Ubuntu lub Debian Linux mogą zawierać te wiersze:

* successfully set certificate verify locations:
* CAfile: none
  CApath: /etc/ssl/certs

Dane wyjściowe z komputera z systemem Ubuntu lub Debianem przy użyciu pliku PEM certyfikatu głównego Google podane za pomocą flagi --cacert może zawierać te wiersze:

* successfully set certificate verify locations:
* CAfile: /home/<user>/Downloads/roots.pem
  CApath: /etc/ssl/certs

Klient użytkownika

Żądania wychodzące zawierają nagłówek User-Agent, który może zapewnić informacje o usłudze curl i Twoim systemie.

Przykład dla komputera Red Hat z systemem Linux:

> HEAD / HTTP/1.1
> User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.27.1 zlib/1.2.3 libidn/1.18 libssh1/1.4.2
> Host: maps.googleapis.com
> Accept: */*
>

Nieudane uzgadnianie połączenia TLS

Wiersze, takie jak te w tym przykładzie kodu, wskazują, że połączenie zakończone uzgadnianie połączenia TLS z powodu niezaufanego certyfikatu serwera. brak danych wyjściowych debugowania rozpoczynających się od > lub < też jest sygnały wskazujące na nieudaną próbę nawiązania połączenia:

*** SSLv3, TLS alert, Server hello (2):
* SSL certificate problem: unable to get local issuer certificate
* Closing connection 0**

Udane uzgadnianie połączenia TLS

Pomyślne uzgadnianie połączenia TLS jest sygnalizowane obecnością podobnie wyglądających wierszy do tych w tym przykładzie kodu. Zestaw szyfrów używany do połączenia oraz szczegóły akceptowanego serwera. certyfikat. Poza tym obecność wierszy zaczynających się od > lub < oznacza, że ruch HTTP ładunku jest przesyłany. w ramach połączenia szyfrowanego TLS:

*   Trying 108.177.15.95:443...
* Connected to maps.googleapis.com (108.177.15.95) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*  CAfile: /etc/ssl/certs/ca-certificates.crt
*  CApath: /etc/ssl/certs
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
* TLSv1.3 (IN), TLS handshake, Certificate (11):
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
* TLSv1.3 (IN), TLS handshake, Finished (20):
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.3 (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
* ALPN, server accepted to use h2
* Server certificate:
*  subject: C=US; ST=California; L=Mountain View; O=Google LLC; CN=upload.video.google.com
*  start date: Mar 23 08:24:47 2021 GMT
*  expire date: Jun 15 08:24:46 2021 GMT
*  subjectAltName: host "maps.googleapis.com" matched cert's "*.googleapis.com"
*  issuer: C=US; O=Google Trust Services; CN=GTS CA 1O1
*  SSL certificate verify ok.
* Using HTTP2, server supports multi-use
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x55c4acf0c560)
> HEAD / HTTP/2
> Host: maps.googleapis.com
> user-agent: curl/7.74.0
> accept: */*
>
> HTTP/2 302
…

Jak wydrukować odebrane certyfikaty serwera w postaci zrozumiałej dla człowieka

Przy założeniu, że dane wyjściowe są w formacie PEM, np. dane wyjściowe z openssl s_client -connect maps.googleapis.com:443 -showcerts </dev/null, możesz wydrukować udostępniony certyfikat, wykonując te czynności:

  • Skopiuj cały certyfikat zakodowany w standardzie Base64, w tym nagłówek i stopkę:

    -----BEGIN CERTIFICATE-----
    …
    -----END CERTIFICATE-----
    
  • Następnie wykonaj te czynności:

    openssl x509 -inform pem -noout -text
    ````
    
  • Następnie wklej zawartość bufora kopiowania w terminalu.

  • Naciśnij klawisz Return.

Przykładowe dane wejściowe i wyjściowe, patrz sekcja Jak drukować certyfikaty PEM w postaci zrozumiałej dla człowieka.

Jak wyglądają certyfikaty Google podpisane krzyżowo w OpenSSL?

…
---
Certificate chain
 0 s:C = US, ST = California, L = Mountain View, O = Google LLC, CN = good.gtsr1x.demo.pki.goog
   i:C = US, O = Google Trust Services LLC, CN = GTS Y1
-----BEGIN CERTIFICATE-----
…
-----END CERTIFICATE-----
 1 s:C = US, O = Google Trust Services LLC, CN = GTS Y1
   i:C = US, O = Google Trust Services LLC, CN = GTS Root R1
-----BEGIN CERTIFICATE-----
…
-----END CERTIFICATE-----
2 s:C = US, O = Google Trust Services LLC, CN = GTS Root R1
   i:C = BE, O = GlobalSign nv-sa, OU = Root CA, CN = GlobalSign Root CA
-----BEGIN CERTIFICATE-----
…
-----END CERTIFICATE-----
---
Server certificate
subject=C = US, ST = California, L = Mountain View, O = Google LLC, CN = good.gtsr1x.demo.pki.goog

issuer=C = US, O = Google Trust Services LLC, CN = GTS Y1

---
…

Zarządzanie zaufanymi certyfikatami

Jak mogę sprawdzić zaufane certyfikaty główne na telefonie komórkowym?

Zaufane certyfikaty Androida

Zgodnie z pytaniem Czy aplikacje mobilne mogą się zepsuć?, Android od wersji 4.0 zezwala użytkownikom telefonu na weryfikację listy zaufanych certyfikatów w sekcji Ustawienia. Ta tabela zawiera dokładne Ustawienia ścieżka menu:

Wersja Androida Ścieżka menu
1,x, 2,x, 3.x Nie dotyczy
4, x, 5, x, 6, x, 7, x Ustawienia > Bezpieczeństwo > Zaufane dane logowania
8 x, 9 Ustawienia > Bezpieczeństwo Lokalizacja > Szyfrowanie credentials &gt; Zaufane dane logowania
10+ Ustawienia > Bezpieczeństwo > Zaawansowane > Szyfrowanie credentials &gt; Zaufane dane logowania

Ta tabela pokazuje prawdopodobną dostępność najbardziej krytycznego certyfikatów na wersję Androida, na podstawie ręcznej weryfikacji za pomocą obecnie dostępnych urządzeń z Androidem obrazów systemu wirtualnego urządzenia (AVD), przywodzących na myśl certyfikaty CA organizacji AOSP. Historia wersji repozytorium Git, w której obrazy systemu nie były już dostępne:

Wersja Androida GTS root R1 GlobalSign Root CA – R1 GlobalSign Root R2 (ważny do 15 grudnia 2021 r.)
2,3, 3,2, 4,x, 5,x, 6,x, 7,x, 8,x, 9
10+

Aktualizowanie magazynu certyfikatów głównych systemu Android zwykle nie jest możliwe bez aktualizacji oprogramowania czy uzyskiwania dostępu do roota. Jednak na większości urządzeń z Androidem wersji, które są nadal w powszechnym użyciu, bieżącego zbioru zaufanych certyfikatów aby zapewnić ciągłość usługi przez wiele lat, wykraczają poza rzeczywisty okres eksploatacji większości obecnie używanych urządzeń.

Od wersji 7.0 Android zapewnia deweloperom aplikacji to metoda dodawania zaufanych certyfikatów, które są zaufane tylko aplikacji. Certyfikaty są łączone w grupy z aplikacją tworząc niestandardową konfigurację zabezpieczeń sieci, tak jak to opisano w Android: sprawdzone metody dotyczące bezpieczeństwa Prywatność Konfiguracja zabezpieczeń sieci dokument treningowy.

Deweloperzy aplikacji innych firm nie będą jednak mogli wpływać na konfiguracji zabezpieczeń sieci dla ruchu pochodzącego z pakiet APK Usług Google Play, takie działania prawdopodobnie pozwoliłyby tylko częściowo obejść problem.

W przypadku starszych urządzeń jedyną dostępną opcją jest wybranie dodawane przez użytkowników urzędy certyfikacji zainstalowane przez zasadę grupy firmowej zastosowanej do strony urządzeń użytkowników lub przez samych użytkowników.

Magazyn zaufania na iOS

Apple nie wyświetla bezpośrednio swojego domyślnego zestawu zaufanych certyfikatów głównych telefonu, firma ma linki do zbiorów zaufanych głównych urzędów certyfikacji dla System iOS w wersji 5 lub nowszej dostępny w artykułach pomocy Apple:

Jednak wszelkie dodatkowe certyfikaty zainstalowane na urządzeniu z iOS powinny widoczne w sekcji Ustawienia > Ogólne > Profil. Jeśli nie ma dodatkowych certyfikaty, pozycja menu Profil może się nie wyświetlić.

Ta tabela przedstawia dostępność najważniejszych certyfikatów głównych w poszczególnych wersjach iOS, z uwzględnieniem powyższych źródeł:

Wersja iOS GTS root R1 GlobalSign Root CA – R1 GlobalSign Root R2 (ważny do 15 grudnia 2021 r.)
5, 6, 7, 8, 9, 10, 11, 12,0
12.1.3+

Gdzie jest magazyn systemowych certyfikatów głównych i jak mogę go zaktualizować?

Lokalizacja domyślnego magazynu certyfikatów głównych różni się w zależności od systemu operacyjnego i używała biblioteki SSL/TLS. Jednak w większości dystrybucji systemu Linux domyślny katalog główny certyfikaty można znaleźć w jednej z tych ścieżek:

  • /usr/local/share/ca-certificates: Debian, Ubuntu, starsze wersje RHEL i Wersje CentOS
  • /etc/pki/ca-trust/source/anchors i /usr/share/pki/ca-trust-source: Fedora, nowsze wersje RHEL i CentOS
  • /var/lib/ca-certificates: OpenSUSE

Inne ścieżki certyfikatów mogą obejmować:

  • /etc/ssl/certs: Debian, Ubuntu
  • /etc/pki/tls/certs: RHEL, CentOS

Niektóre certyfikaty w tych katalogach to prawdopodobnie łącza symboliczne do plików w innych katalogach.

Magazyn certyfikatów głównych OpenSSL

W przypadku aplikacji korzystających z OpenSSL możesz sprawdzania skonfigurowanej lokalizacji zainstalowanych komponentów, w tym domyślnych certyfikaty główne za pomocą tego polecenia:

openssl version -d

Polecenie powoduje wyświetlenie wartości OPENSSLDIR, która odpowiada najwyższemu poziomowi katalogu, w którym znajduje się biblioteka wraz z konfiguracjami:

OPENSSLDIR: "/usr/lib/ssl"

Magazyn certyfikatów głównych znajduje się w podkatalogu certs.

ls -l /usr/lib/ssl/certs
lrwxrwxrwx 1 root root 14 Apr 21  2020 /usr/lib/ssl/certs -> /etc/ssl/certs
ls -l /etc/ssl/certs
…
-rw-r--r-- 1 root root 214904 Apr 15 17:01  ca-certificates.crt
…
lrwxrwxrwx 1 root root     50 Apr 15 16:57  GTS_Root_R1.pem -> /usr/share/ca-certificates/mozilla/GTS_Root_R1.crt
…

Jeśli OpenSSL korzysta z domyślnego magazynu certyfikatów głównych systemu, np. przykład powyżej, sprawdź sekcję najwyższego poziomu Gdzie jest przechowywany mój systemowy certyfikat główny i jak mogę go zaktualizować? aby upewnić się, że systemowy pakiet certyfikatów głównych jest aktualny.

Instrukcje uzyskiwania openssl znajdziesz w sekcji Uzyskiwanie OpenSSL.

Magazyn certyfikatów głównych Java

Aplikacje w Javie mogą korzystać z własnego magazynu certyfikatów głównych, który w systemie Linux zwykle znajdują się w: /etc/pki/java/cacerts lub /usr/share/ca-certificates-java, którą można zarządzać za pomocą środowiska Java keytool narzędzia wiersza poleceń.

Aby zaimportować pojedynczy certyfikat do magazynu certyfikatów Java, wyślij to polecenie:

keytool -import -trustcacerts -file cert.pem -alias alias -keystore certs.jks

Po prostu zastąp cert.pem plikiem certyfikatu odpowiadającym każdemu zalecany certyfikat główny, alias z unikalnym, ale znaczącym certyfikatem alias oraz certs.jks z plikiem bazy danych certyfikatów używanym w dla środowiska.

Aby dowiedzieć się więcej, zapoznaj się z tymi informacjami na stronie Oracle i Stack Overflow artykuły:

Magazyn certyfikatów głównych Mozilla NSS

Aplikacje korzystające z Mozilla NSS może domyślnie korzystać również z całej systemowej bazy danych certyfikatów, w domenie /etc/pki/nssdb lub domyślny sklep użytkownika ${HOME}/.pki/nssdb

Aby zaktualizować bazę danych NSS, użyj narzędzia certutil.

Aby zaimportować pojedynczy plik certyfikatu do bazy danych NSS, wyślij to polecenie:

certutil -A -t "C,," -i cert.pem -n cert-name -d certdir

Po prostu zastąp cert.pem plikiem certyfikatu odpowiadającym każdemu zalecany certyfikat główny, cert-name ze znaczącym certyfikatem pseudonim, a certdir ścieżką bazy danych certyfikatów używaną na dla środowiska.

Więcej informacji można znaleźć w oficjalnym NSS Tools certutil (w języku angielskim) instrukcji obsługi oraz dokumentacji systemu operacyjnego.

Magazyn certyfikatów głównych Microsoft .NET

Programiści Windows .NET mogą znaleźć co najmniej te artykuły firmy Microsoft przydatne przy aktualizowaniu magazynu certyfikatów głównych:

Formaty plików certyfikatu

Co to jest plik PEM?

Ochrona prywatności (PEM) to standardowy format pliku tekstowego do przechowywania i przesyłania certyfikatów, kluczy itp., formalnie sformalizowanych jako standard RFC 7468

Chociaż format pliku jest zrozumiały dla człowieka, Plik binarny zakodowany w Base64 w przypadku danych certyfikatu. Specyfikacja PEM pozwala jednak emisja objaśnienie przed lub po zakodowanej treści certyfikatu. Wiele narzędzi używa aby otrzymać przejrzyste podsumowanie najistotniejszych danych elementów certyfikatu.

Narzędzia, takie jak openssl, mogą również służyć do zdekodowania całego certyfikatu na czytelną dla człowieka. Patrz sekcja Jak drukować certyfikaty PEM w postaci zrozumiałej dla człowieka .

Co to jest plik „.crt” ?

Narzędzia umożliwiające eksportowanie certyfikatów w formacie PEM zwykle jest używany rozszerzenie pliku „.crt” wskazuje, że plik korzysta z kodowania tekstowego.

Co to jest plik DER?

Wyróżniające się reguły kodowania to standardowy format binarny używany do kodowania certyfikatów. Certyfikaty w PEM zwykle są to pliki, Certyfikaty DER z kodowaniem Base64.

Co to jest „.cer” ?

Wyeksportowany plik z rozszerzeniem „.cer” sufiks może zawierać certyfikat zakodowany w formacie PEM, ale zwykle jest to certyfikat binarny, zwykle z kodowaniem DER. Według Convention, „.cer”; zawierają zwykle tylko 1 certyfikat.

Mój system odmawia zaimportowania wszystkich certyfikatów z witryny roots.pem

Niektóre systemy, np. Java keytool, można importować tylko jeden certyfikat z pliku PEM, nawet jeśli zawiera ich kilka. Zobacz pytanie Jak wyodrębnić poszczególne certyfikaty z roots.pem? aby zobaczyć, jak można podzielić ten plik.

Jak wyodrębnić poszczególne certyfikaty z roots.pem?

Możesz podzielić roots.pem na certyfikaty składowe za pomocą: prosty skrypt bash:

csplit -z -f roots.pem. roots.pem '/-----END CERTIFICATE-----/+1' '{*}' &>/dev/null && \
for f in roots.pem.*; \
  do mv "${f}" $(openssl x509 -in "${f}" -noout -issuer_hash).pem; \
done

Powinno to spowodować utworzenie kilku pojedynczych plików PEM podobnych do tych wymienionych na liście tutaj:

ls -l *.pem
-rw-r----- 1 <user> <group>  2217 Apr 28 11:04 02265526.pem
-rw-r----- 1 <user> <group>  1722 Apr 28 11:04 062cdee6.pem
-rw-r----- 1 <user> <group>  1279 Apr 28 11:04 0a775a30.pem
-rw-r----- 1 <user> <group>  2425 Apr 28 11:04 1001acf7.pem
-rw-r----- 1 <user> <group>  1796 Apr 28 11:04 106f3e4d.pem
-rw-r----- 1 <user> <group>  1315 Apr 28 11:04 1d3472b9.pem
-rw-r----- 1 <user> <group>  1919 Apr 28 11:04 244b5494.pem
-rw-r----- 1 <user> <group>  1668 Apr 28 11:04 2b349938.pem
-rw-r----- 1 <user> <group>  1651 Apr 28 11:04 2c543cd1.pem
-rw-r----- 1 <user> <group>  1858 Apr 28 11:04 3513523f.pem
-rw-r----- 1 <user> <group>  2000 Apr 28 11:04 40547a79.pem
-rw-r----- 1 <user> <group>  1862 Apr 28 11:04 4a6481c9.pem
-rw-r----- 1 <user> <group>  1927 Apr 28 11:04 4bfab552.pem
-rw-r----- 1 <user> <group>  1745 Apr 28 11:04 5ad8a5d6.pem
-rw-r----- 1 <user> <group>  1813 Apr 28 11:04 607986c7.pem
-rw-r----- 1 <user> <group>  2425 Apr 28 11:04 626dceaf.pem
-rw-r----- 1 <user> <group>  1738 Apr 28 11:04 653b494a.pem
-rw-r----- 1 <user> <group>  2294 Apr 28 11:04 6b99d060.pem
-rw-r----- 1 <user> <group>  2510 Apr 28 11:04 75d1b2ed.pem
-rw-r----- 1 <user> <group>  1788 Apr 28 11:04 76cb8f92.pem
-rw-r----- 1 <user> <group>  1383 Apr 28 11:04 7f3d5d1d.pem
-rw-r----- 1 <user> <group>  1668 Apr 28 11:04 93bc0acc.pem
-rw-r----- 1 <user> <group>  1220 Apr 28 11:04 9c8dfbd4.pem
-rw-r----- 1 <user> <group>  1838 Apr 28 11:04 9d04f354.pem
-rw-r----- 1 <user> <group>  1279 Apr 28 11:04 a3418fda.pem
-rw-r----- 1 <user> <group>  2194 Apr 28 11:04 aee5f10d.pem
-rw-r----- 1 <user> <group>  1249 Apr 28 11:04 b0e59380.pem
-rw-r----- 1 <user> <group>  1882 Apr 28 11:04 b1159c4c.pem
-rw-r----- 1 <user> <group>  2346 Apr 28 11:04 b727005e.pem
-rw-r----- 1 <user> <group>  1940 Apr 28 11:04 cbf06781.pem
-rw-r----- 1 <user> <group>  2609 Apr 28 11:04 d6325660.pem
-rw-r----- 1 <user> <group>  2474 Apr 28 11:04 dc4d6a89.pem
-rw-r----- 1 <user> <group>  1358 Apr 28 11:04 dd8e9d41.pem
-rw-r----- 1 <user> <group>  1972 Apr 28 11:04 ee64a828.pem
-rw-r----- 1 <user> <group>  1462 Apr 28 11:04 eed8c118.pem
-rw-r----- 1 <user> <group>  1944 Apr 28 11:04 f081611a.pem
-rw-r----- 1 <user> <group>  1488 Apr 28 11:04 f30dd6ad.pem
-rw-r----- 1 <user> <group>  1975 Apr 28 11:04 f387163d.pem
-rw-r----- 1 <user> <group>  2632 Apr 28 11:04 fc5a8f99.pem
-rw-r----- 1 <user> <group> 72865 Apr 20 12:44 roots.pem

Poszczególne pliki PEM, takie jak 02265526.pem, możesz następnie zaimportować oddzielnie lub dalej konwertować na format pliku magazynu certyfikatów akceptuje.

Jak przekonwertować plik PEM na format obsługiwany przez mój system

narzędzie wiersza poleceń OpenSSL; openssl może służyć do konwertowania plików między wszystkimi powszechnie używanymi certyfikatami formatów plików. Instrukcje konwertowania z pliku PEM do najczęściej używanej formatów plików certyfikatu znajdziesz poniżej.

Pełną listę dostępnych opcji znajdziesz w oficjalnym Dokumentacja narzędzi OpenSSL wiersza poleceń.

Instrukcje uzyskiwania openssl znajdziesz w sekcji Uzyskiwanie OpenSSL.

Jak przekonwertować plik PEM na format DER?

Używając openssl, możesz uruchomić to polecenie, aby przekonwertować plik z PEM do DER:

openssl x509 -in roots.pem -outform der -out roots.der
Jak przekonwertować plik PEM na PKCS #7?

Używając openssl, możesz uruchomić to polecenie, aby przekonwertować plik z PEM do PKCS 7:

openssl crl2pkcs7 -nocrl -certfile roots.pem -out roots.p7b
Jak przekonwertować plik PEM na PKCS #12 (PFX)?

Używając openssl, możesz uruchomić to polecenie, aby przekonwertować plik z PEM do PKCS 12:

openssl pkcs12 -export -info -in roots.pem -out roots.p12 -nokeys

Podczas tworzenia archiwum PKCS 12 musisz podać hasło pliku. Marka zapisz hasło w bezpiecznym miejscu. Jeśli nie importujesz PKCS #12 do systemu.

Wyświetlanie, drukowanie i eksportowanie certyfikatów z magazynu certyfikatów głównych

Jak wyeksportować certyfikat z magazynu kluczy Java jako plik PEM?

Używając polecenia keytool, możesz uruchomić następujące polecenie, aby wyświetlić wszystkie certyfikatów w magazynie certyfikatów wraz z aliasem, którego można użyć do wyeksportować każdy z nich:

keytool -v -list -keystore certs.jks

Po prostu zastąp certs.jks plikiem bazy danych certyfikatów używanym w dla środowiska. To polecenie pokaże też alias każdego certyfikatu, który potrzebne do wyeksportowania.

Aby wyeksportować pojedynczy certyfikat w formacie PEM, uruchom następujące polecenie:

keytool -exportcert -rfc -keystore certs.jks -alias alias > alias.pem

Po prostu zastąp certs.jks plikiem bazy danych certyfikatów używanym w i podaj alias oraz alias.pem odpowiadające który chcesz wyeksportować.

Więcej informacji znajdziesz w instrukcji narzędzia Java Platform, Standard Edition Tools Reference: keytool.

Jak wyeksportować certyfikaty z magazynu certyfikatów głównych NSS jako plik PEM?

Używając polecenia certutil, możesz uruchomić następujące polecenie, aby wyświetlić wszystkie certyfikatów w magazynie certyfikatów wraz z pseudonimem, którego możesz używać aby wyeksportować każdy z nich:

certutil -L -d certdir

Wystarczy zastąpić certdir ścieżką bazy danych certyfikatów używaną w dla środowiska. To polecenie wyświetla też pseudonim każdego certyfikatu, który potrzebne do wyeksportowania.

Aby wyeksportować pojedynczy certyfikat w formacie PEM, uruchom następujące polecenie:

certutil -L -n cert-name -a -d certdir > cert.pem

Wystarczy zastąpić certdir ścieżką bazy danych certyfikatów używaną w i podaj cert-name oraz cert.pem odpowiadające który chcesz wyeksportować.

Więcej informacji można znaleźć w oficjalnym NSS Tools certutil (w języku angielskim) instrukcji obsługi oraz dokumentacji systemu operacyjnego.

Jak drukować certyfikaty PEM w postaci zrozumiałej dla człowieka

W tych przykładach zakładamy, że masz plik GTS_Root_R1.pem z następującą treść:

# Operating CA: Google Trust Services LLC
# Issuer: C=US, O=Google Trust Services LLC, CN=GTS Root R1
# Subject: C=US, O=Google Trust Services LLC, CN=GTS Root R1
# Label: "GTS Root R1
# Serial: 6e:47:a9:c5:4b:47:0c:0d:ec:33:d0:89:b9:1c:f4:e1
# MD5 Fingerprint: 82:1A:EF:D4:D2:4A:F2:9F:E2:3D:97:06:14:70:72:85
# SHA1 Fingerprint: E1:C9:50:E6:EF:22:F8:4C:56:45:72:8B:92:20:60:D7:D5:A7:A3:E8
# SHA256 Fingerprint: 2A:57:54:71:E3:13:40:BC:21:58:1C:BD:2C:F1:3E:15:84:63:20:3E:CE:94:BC:F9:D3:CC:19:6B:F0:9A:54:72
-----BEGIN CERTIFICATE-----
MIIFWjCCA0KgAwIBAgIQbkepxUtHDA3sM9CJuRz04TANBgkqhkiG9w0BAQwFADBH
MQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExM
QzEUMBIGA1UEAxMLR1RTIFJvb3QgUjEwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIy
MDAwMDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNl
cnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjEwggIiMA0GCSqGSIb3DQEB
AQUAA4ICDwAwggIKAoICAQC2EQKLHuOhd5s73L+UPreVp0A8of2C+X0yBoJx9vaM
f/vo27xqLpeXo4xL+Sv2sfnOhB2x+cWX3u+58qPpvBKJXqeqUqv4IyfLpLGcY9vX
mX7wCl7raKb0xlpHDU0QM+NOsROjyBhsS+z8CZDfnWQpJSMHobTSPS5g4M/SCYe7
zUjwTcLCeoiKu7rPWRnWr4+wB7CeMfGCwcDfLqZtbBkOtdh+JhpFAz2weaSUKK0P
fyblqAj+lug8aJRT7oM6iCsVlgmy4HqMLnXWnOunVmSPlk9orj2XwoSPwLxAwAtc
vfaHszVsrBhQf4TgTM2S0yDpM7xSma8ytSmzJSq0SPly4cpk9+aCEI3oncKKiPo4
Zor8Y/kB+Xj9e1x3+naH+uzfsQ55lVe0vSbv1gHR6xYKu44LtcXFilWr06zqkUsp
zBmkMiVOKvFlRNACzqrOSbTqn3yDsEB750Orp2yjj32JgfpMpf/VjsPOS+C12LOO
Rc92wO1AK/1TD7Cn1TsNsYqiA94xrcx36m97PtbfkSIS5r762DL8EGMUUXLeXdYW
k70paDPvOmbsB4om3xPXV2V4J95eSRQAogB/mqghtqmxlbCluQ0WEdrHbEg8QOB+
DVrNVjzRlwW5y0vtOUucxD/SVRNuJLDWcfr0wbrM7Rv1/oFB2ACYPTrIrnqYNxgF
lQIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV
HQ4EFgQU5K8rJnEaK0gnhS9SZizv8IkTcT4wDQYJKoZIhvcNAQEMBQADggIBADiW
Cu49tJYeX++dnAsznyvgyv3SjgofQXSlfKqE1OXyHuY3UjKcC9FhHb8owbZEKTV1
d5iyfNm9dKyKaOOpMQkpAWBz40d8U6iQSifvS9efk+eCNs6aaAyC58/UEBZvXw6Z
XPYfcX3v73svfuo21pdwCxXu11xWajOl40k4DLh9+42FpLFZXvRq4d2h9mREruZR
gyFmxhE+885H7pwoHyXa/6xmld01D1zvICxi/ZG6qcz8WpyTgYMpl0p8WnK0OdC3
d8t5/Wk6kjftbjhlRn7pYL15iJdfOBL07q9bgsiG1eGZbYwE8na6SfZu6W0eX6Dv
J4J2QPim01hcDyxC2kLGe4g0x8HYRZvBPsVhHdljUEn2NIVq4BjFbkerQUIpm/Zg
DdIx02OYI5NaAIFItO/Nis3Jz5nu2Z6qNuFoS3FJFDYoOj0dzpqPJeaAcWErtXvM
+SUWgeExX6GjfhaknBZqlxi9dnKlC54dNuYvoS++cJEPqOba+MSSQGwlfnuzCdyy
F62ARPBopY+Udf90WuioAnwMCeKpSwughQtiue+hMZL77/ZRBIls6Kl0obsXs7X9
SQ98POyDGCBDTtWTurQ0sR8WNh8M5mQ5Fkzc4P4dyKliPUDqysU0ArSuiYgzNdws
E3PYJ/HQcu51OyLemGhmW/HGY0dVHLqlCFF1pkgl
-----END CERTIFICATE-----
Drukowanie plików certyfikatów przy użyciu OpenSSL

Wykonywanie polecenia

openssl x509 -in GTS_Root_R1.pem -text

powinno wyświetlić zapytanie podobne do tego:

Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            6e:47:a9:c5:4b:47:0c:0d:ec:33:d0:89:b9:1c:f4:e1
        Signature Algorithm: sha384WithRSAEncryption
        Issuer: C = US, O = Google Trust Services LLC, CN = GTS Root R1
        Validity
            Not Before: Jun 22 00:00:00 2016 GMT
            Not After : Jun 22 00:00:00 2036 GMT
        Subject: C = US, O = Google Trust Services LLC, CN = GTS Root R1
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                RSA Public-Key: (4096 bit)
                Modulus:
                    …
                Exponent: 65537 (0x10001)
        X509v3 extensions:
            X509v3 Key Usage: critical
                Certificate Sign, CRL Sign
            X509v3 Basic Constraints: critical
                CA:TRUE
            X509v3 Subject Key Identifier:
                E4:AF:2B:26:71:1A:2B:48:27:85:2F:52:66:2C:EF:F0:89:13:71:3E
    Signature Algorithm: sha384WithRSAEncryption
        …

Instrukcje uzyskiwania openssl znajdziesz w sekcji Uzyskiwanie OpenSSL.

Drukowanie certyfikatów przy użyciu narzędzia Java Keytool

Wykonuję następujące polecenie

keytool -printcert -file GTS_Root_R1.pem

powinno wyświetlić zapytanie podobne do tego:

Owner: CN=GTS Root R1, O=Google Trust Services LLC, C=US
Issuer: CN=GTS Root R1, O=Google Trust Services LLC, C=US
Serial number: 6e47a9c54b470c0dec33d089b91cf4e1
Valid from: Wed Jun 22 02:00:00 CEST 2016 until: Sun Jun 22 02:00:00 CEST 2036
Certificate fingerprints:
   SHA1: E1:C9:50:E6:EF:22:F8:4C:56:45:72:8B:92:20:60:D7:D5:A7:A3:E8
   SHA256: 2A:57:54:71:E3:13:40:BC:21:58:1C:BD:2C:F1:3E:15:84:63:20:3E:CE:94:BC:F9:D3:CC:19:6B:F0:9A:54:72
Signature algorithm name: SHA384withRSA
Subject Public Key Algorithm: 4096-bit RSA key
Version: 3

Extensions:

#1: ObjectId: 2.5.29.19 Criticality=true
BasicConstraints:[
  CA:true
  PathLen:2147483647
]

#2: ObjectId: 2.5.29.15 Criticality=true
KeyUsage [
  Key_CertSign
  Crl_Sign
]

#3: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: E4 AF 2B 26 71 1A 2B 48   27 85 2F 52 66 2C EF F0  ..+&q.+H'./Rf,..
0010: 89 13 71 3E                                        ..q>
]
]

Instrukcje uzyskiwania keytool znajdziesz w sekcji Pobieram narzędzie Java Keytool.

Jak sprawdzić, które certyfikaty są zainstalowane w magazynie certyfikatów głównych?

Zależy to od systemu operacyjnego i biblioteki SSL/TLS. Jednak narzędzia, umożliwia importowanie i eksportowanie certyfikatów do i z certyfikatów głównych zwykle udostępniają też opcję wyświetlenia listy zainstalowanych certyfikatów.

Ponadto, jeśli udało Ci się wyeksportować zaufane certyfikaty główne do pliku PEM lub magazyn certyfikatów głównych zawiera już zapisane pliki PEM, możesz spróbować otworzyć te pliki w dowolnym edytorze tekstu, ponieważ jest to zwykły plik tekstowy.

Plik PEM może być prawidłowo oznaczony etykietami, co zawiera czytelne informacje dla człowieka powiązany urząd certyfikacji (przykład z zaufany pakiet głównego urzędu certyfikacji Google):

# Operating CA: Google Trust Services LLC
# Issuer: C=US, O=Google Trust Services LLC, CN=GTS Root R1
# Subject: C=US, O=Google Trust Services LLC, CN=GTS Root R1
# Label: "GTS Root R1"
# Serial: 6e:47:a9:c5:4b:47:0c:0d:ec:33:d0:89:b9:1c:f4:e1
# MD5 Fingerprint: 82:1A:EF:D4:D2:4A:F2:9F:E2:3D:97:06:14:70:72:85
# SHA1 Fingerprint: E1:C9:50:E6:EF:22:F8:4C:56:45:72:8B:92:20:60:D7:D5:A7:A3:E8
# SHA256 Fingerprint: 2A:57:54:71:E3:13:40:BC:21:58:1C:BD:2C:F1:3E:15:84:63:20:3E:CE:94:BC:F9:D3:CC:19:6B:F0:9A:54:72
-----BEGIN CERTIFICATE-----
…
-----END CERTIFICATE-----

Może też zawierać tylko część certyfikatu. W takich przypadkach nazwa taki plik jak GTS_Root_R1.pem może i określ, do którego urzędu certyfikacji należy certyfikat. Ciąg certyfikatu między tagiem Tokeny -----BEGIN CERTIFICATE----- i -----END CERTIFICATE----- będzie też niepowtarzalna dla każdego urzędu certyfikacji.

Nawet jeśli nie masz powyższych narzędzi, jak każdy certyfikat zaufany pakiet głównego urzędu certyfikacji Google to prawidłowo oznaczone, możesz niezawodnie dopasować główne urzędy certyfikacji z grupy te z certyfikatów głównych są przechowywane według Issuer lub przez porównanie Ciągi znaków certyfikatów pliku PEM.

Przeglądarki internetowe mogą używać własnego magazynu certyfikatów głównych lub korzystać z domyślnego który jest dostarczany przez operatora sieci komórkowej. Wszystkie nowoczesne przeglądarki powinny jednak umożliwiać lub przynajmniej wyświetlać zbiór głównych urzędów certyfikacji, którym ufają. Zobacz pytanie Czy aplikacje JavaScript mogą ulec awarii? aby dowiedzieć się więcej.

Instrukcje dotyczące telefonów komórkowych znajdziesz w oddzielnym pytaniu Jak mogę sprawdzić zaufane certyfikaty główne na telefonie komórkowym?

Dodatek

Potrzebujesz więcej informacji?

Zawsze korzystaj głównie z dokumentacji systemu operacyjnego, języków programowania aplikacji oraz dokumentację bibliotek zewnętrznych, z których korzysta Twoja aplikacja.

Każde inne źródło informacji, w tym te najczęstsze pytania, może być nieaktualne lub są nieprawidłowe i nie powinny być uznawane za wiarygodne. Możesz jednak w dalszym ciągu znajdują się przydatne informacje na temat Stack Exchange Q&A, jako jak również witryn, takich jak AdamW w systemie Linux i nie tylko oraz potwierdź bloga.

Zapoznaj się też z Najczęstsze pytania na temat usług zaufania Google.

Aby dowiedzieć się więcej o zaawansowanych tematach, takich jak przypinanie certyfikatów, znajdź projekt Open Web Application Security Project (OWASP) Przypinanie certyfikatów i kluczy publicznych artykuł i Przypinanie ściągawki zawiera wiele informacji. Instrukcje dotyczące Androida znajdziesz w oficjalnym Android: sprawdzone metody dotyczące bezpieczeństwa Prywatność Bezpieczeństwo za pomocą protokołów HTTPS i SSL dokument treningowy. Do dyskusji na temat przypinania certyfikatu i klucza publicznego Androida, być może znajdziesz post na blogu Matthew Dolana Bezpieczeństwo Androida: przypinanie SSL przydatne.

Android: sprawdzone metody dotyczące bezpieczeństwa Szkolenie z konfiguracji zabezpieczeń sieci – prywatność i post na blogu JeroenHD Android 7 Nougat i urzędy certyfikacji więcej informacji na temat zarządzania dodatkowymi zaufanymi certyfikatami w na urządzeniu z Androidem.

Pełną listę głównych urzędów certyfikacji zaufanych przez AOSP znajdziesz w certyfikaty CA Repozytorium Git. W przypadku wszystkich wersji opartych na nieoficjalnych widelkach Androida, np. Zapoznaj się z odpowiednimi repozytoriami udostępnionymi przez dostawcę systemu operacyjnego.