Przeglądasz dokumentację Apigee Edge.
Przejdź do
Dokumentacja Apigee X. informacje.
Ten dokument wyjaśnia, jak zweryfikować łańcuch certyfikatów przed przesłaniem certyfikatu do magazynu kluczy lub magazynu zaufania w Apigee Edge. Ten proces opiera się na zestaw narzędzi OpenSSL do weryfikacji certyfikatu. łańcucha i ma zastosowanie w każdym środowisku, w którym dostępny jest protokół OpenSSL.
Zanim zaczniesz
Przed użyciem kroków opisanych w tym dokumencie upewnij się, że rozumiesz następujące tematy:
- Jeśli nie znasz łańcucha certyfikatów, przeczytaj artykuł Łańcuch zaufania.
- Jeśli nie znasz jeszcze biblioteki OpenSSL, przeczytaj OpenSSL.
- Jeśli chcesz używać przykładowych wierszy poleceń z tego przewodnika, zainstaluj lub zaktualizuj do najnowszej wersji klienta OpenSSL.
- Sprawdź, czy certyfikaty są w formacie PEM. Jeśli certyfikaty nie są w formacie PEM, skorzystaj z instrukcji w Konwertowanie certyfikatów na obsługiwany format w celu konwertowania ich na format PEM.
Weryfikowanie podmiotu certyfikatu i wydawcy dla całego łańcucha
Aby sprawdzić łańcuch certyfikatów za pomocą poleceń OpenSSL, wykonaj czynności opisane w w tych sekcjach:
- Dzielenie łańcucha certyfikatów
- Weryfikowanie podmiotu certyfikatu i wystawcy
- Weryfikowanie podmiotu certyfikatu i hasza wydawcy
- Sprawdzanie daty ważności certyfikatu
Dzielenie łańcucha certyfikatów
Przed zweryfikowaniem certyfikatu musisz podzielić łańcuch certyfikatów na kilka oddzielnych aby uzyskać certyfikat, wykonując te czynności:
- Zaloguj się na serwerze, na którym istnieje klient OpenSSL.
- Podziel łańcuch certyfikatów na następujące certyfikaty (jeśli jeszcze nie zostało to zrobione):
-
Certyfikat jednostki:
entity.pem
-
Certyfikat średniozaawansowany:
intermediate.pem
-
Certyfikat główny:
root.pem
Poniższy rysunek przedstawia przykładowy łańcuch certyfikatów:
Weryfikacja podmiotu certyfikatu i wydawcy
W tej sekcji dowiesz się, jak uzyskać podmiot i wystawcę certyfikatów oraz sprawdzić, czy czy masz prawidłowy łańcuch certyfikatów.
-
Uruchom następujące polecenie OpenSSL, aby pobrać
Subject
iIssuer
dla każdego certyfikatu w łańcuchu zentity
doroot
i sprawdź, czy tworzą prawidłowy łańcuch certyfikatów:openssl x509 -text -in certificate | grep -E '(Subject|Issuer):'
Gdzie certificate to nazwa certyfikatu.
-
Sprawdź, czy certyfikaty w łańcuchu są zgodne z tymi wytycznymi:
-
Subject
każdego certyfikatu jest zgodne zIssuer
poprzedniego certyfikatu w łańcuchu (oprócz certyfikatuEntity
). -
Uprawnienia
Subject
iIssuer
są takie same dla certyfikatu głównego.
Jeśli certyfikaty w łańcuchu są zgodne z tymi wytycznymi, uznaje się, że łańcuch certyfikatów jest kompletny i ważny.
Przykładowa weryfikacja łańcucha certyfikatów
Poniżej znajdziesz dane wyjściowe poleceń OpenSSL dla przykładowego łańcucha certyfikatów zawierającego 3 certyfikaty:
Certyfikat jednostki
openssl x509 -text -in entity.pem | grep -E '(Subject|Issuer):' Issuer: C = US, O = Google Trust Services, CN = GTS CA 1O1 Subject: C = US, ST = California, L = Mountain View, O = Google LLC, CN = *.enterprise.apigee.com
Certyfikat średniozaawansowany
openssl x509 -text -in intermediate.pem | grep -E '(Subject|Issuer):' Issuer: OU = GlobalSign Root CA - R2, O = GlobalSign, CN = GlobalSign Subject: C = US, O = Google Trust Services, CN = GTS CA 1O1
Certyfikat główny
openssl x509 -text -in root.pem | grep -E '(Subject|Issuer):' Issuer: OU = GlobalSign Root CA - R2, O = GlobalSign, CN = GlobalSign Subject: OU = GlobalSign Root CA - R2, O = GlobalSign, CN = GlobalSign
Zwróć uwagę na ten przykład w przykładzie powyżej:
-
Subject
certyfikatu pośredniego jest zgodny zIssuer
. certyfikatu jednostki. -
Wartość
Subject
certyfikatu głównego jest zgodna z wartościąIssuer
certyfikatu do certyfikatu pośredniego. -
Elementy
Subject
iIssuer
są takie same w certyfikacie głównym.
Na podstawie przykładu powyżej możesz sprawdzić, czy łańcuch przykładowych certyfikatów jest prawidłowy.
-
Weryfikowanie podmiotu certyfikatu i hasza wydawcy
W tej sekcji wyjaśniamy, jak pobrać hasz podmiotu i wystawcy certyfikatów oraz sprawdź, czy masz prawidłowy łańcuch certyfikatów.
Warto zawsze sprawdzać sekwencję skrótu certyfikatów, ponieważ może to ułatwić identyfikacją problemów, na przykład związanych z wspólną nazwą (CN) certyfikatu, które zawiera niepotrzebną przestrzeń lub znaków specjalnych.
- Uruchom następujące polecenie OpenSSL, aby pobrać sekwencję
hash
dla każdego tagu w łańcuchu odentity
doroot
i sprawdź, czy stworzyć odpowiedni łańcuch certyfikatów. - Sprawdź, czy certyfikaty w łańcuchu są zgodne z tymi wytycznymi:
-
Subject
każdego certyfikatu pasuje doIssuer
poprzedniego w łańcuchu (z wyjątkiem certyfikatuEntity
). -
Uprawnienia
Subject
iIssuer
są takie same dla certyfikatu głównego. -
Identyfikator
subject hash
certyfikatu pośredniego jest zgodny z adresemissuer hash
jednostki certyfikat. -
Numer
subject hash
certyfikatu głównego jest zgodny zissuer hash
certyfikatu wydawcy. -
Elementy
subject
iissuer hash
są takie same w certyfikacie głównym.
openssl x509 -hash -issuer_hash -noout -in certificate
Gdzie certificate to nazwa certyfikatu.
Jeśli certyfikaty w łańcuchu są zgodne z tymi wytycznymi, to łańcuch certyfikatów to uznawane za kompletne i prawidłowe.
Przykładowa weryfikacja łańcucha certyfikatów za pomocą sekwencji skrótu
Poniżej znajdziesz dane wyjściowe poleceń OpenSSL dla przykładowego łańcucha certyfikatów zawierające 3 certyfikaty:
openssl x509 -in entity.pem -hash -issuer_hash -noout c54c66ba #this is subject hash 99bdd351 #this is issuer hash
openssl x509 -in intermediate.pem -hash -issuer_hash -noout 99bdd351 4a6481c9
openssl x509 -in root.pem -hash -issuer_hash -noout 4a6481c9 4a6481c9
Zwróć uwagę na ten przykład w przykładzie powyżej:
Na podstawie przykładu powyżej możesz sprawdzić, czy łańcuch przykładowych certyfikatów jest prawidłowy.
Weryfikowanie ważności certyfikatu
W tej sekcji dowiesz się, jak sprawdzić, czy wszystkie certyfikaty w łańcuchu wygasła przy użyciu tych metod:
- Pobierz datę początkową i końcową certyfikatu.
- Sprawdź stan wygaśnięcia.
Daty rozpoczęcia i zakończenia
Uruchom następujące polecenie OpenSSL, aby uzyskać datę początkową i końcową każdego certyfikatu
w łańcuchu od entity
do root
i sprawdź, czy wszystkie certyfikaty
w łańcuchu obowiązują (data rozpoczęcia przypada przed dzisiejszą datą) i nie wygasła.
Przykładowe daty ważności certyfikatu do daty rozpoczęcia i zakończenia
openssl x509 -startdate -enddate -noout -in entity.pem notBefore=Feb 6 21:57:21 2020 GMT notAfter=Feb 4 21:57:21 2021 GMT
openssl x509 -startdate -enddate -noout -in intermediate.pem notBefore=Jun 15 00:00:42 2017 GMT notAfter=Dec 15 00:00:42 2021 GMT
openssl x509 -startdate -enddate -noout -in root.pem notBefore=Apr 13 10:00:00 2011 GMT notAfter=Apr 13 10:00:00 2022 GMT
Wygaśnięcie
Uruchom następujące polecenie OpenSSL, aby sprawdzić, czy certyfikat już wygasł, lub
wygaśnie w ciągu N seconds
. Zwraca ono stan wygaśnięcia
certyfikat w kontekście bieżącej daty systemowej.
openssl x509 -checkend <N Seconds> -noout -in certificate
Gdzie certificate to nazwa certyfikatu.
Przykładowa weryfikacja ważności certyfikatu za pomocą opcji sprawdzania
Następujące polecenie używa 0 seconds
, aby sprawdzić, czy certyfikat jest już przeczytany
wygasła lub nie:
openssl x509 -checkend 0 -noout -in entity.pem Certificate will not expire
openssl x509 -checkend 0 -noout -in intermediate.pem Certificate will not expire
openssl x509 -checkend 0 -noout -in root.pem Certificate will not expire
W tym przykładzie komunikat Certificate will not expire
wskazuje, że
certyfikat nie wygasł jeszcze.