Wyświetlasz dokumentację Apigee Edge.
Przejdź do
dokumentacji Apigee X. info
Z tego dokumentu dowiesz się, jak zweryfikować łańcuch certyfikatów, zanim prześlesz certyfikat do magazynu kluczy lub magazynu zaufanych certyfikatów w Apigee Edge. Proces ten opiera się na zestawie narzędzi OpenSSL do weryfikacji łańcucha certyfikatów i można go stosować w każdym środowisku, w którym jest dostępny OpenSSL.
Zanim zaczniesz
Zanim wykonasz czynności opisane w tym dokumencie, zapoznaj się z tymi tematami:
- Jeśli nie znasz łańcucha certyfikatów, przeczytaj artykuł Łańcuch zaufania.
- Jeśli nie znasz biblioteki OpenSSL, przeczytaj OpenSSL.
- Jeśli chcesz używać przykładów poleceń w tym przewodniku, zainstaluj lub zaktualizuj klienta OpenSSL do najnowszej wersji.
- Upewnij się, że certyfikaty są w formacie PEM. Jeśli certyfikaty nie są w formacie PEM, wykonaj instrukcje podane w Konwertowanie certyfikatów na obsługiwany format, aby przekonwertować je na format PEM.
Weryfikowanie podmiotu i wystawcy certyfikatu w całym łańcuchu
Aby zweryfikować łańcuch certyfikatów za pomocą poleceń OpenSSL, wykonaj czynności opisane w tych sekcjach:
- Dzielenie łańcucha certyfikatów
- Weryfikowanie podmiotu i wystawcy certyfikatu
- Weryfikowanie hasza podmiotu i wystawcy certyfikatu
- Weryfikowanie daty ważności certyfikatu
Dzielenie łańcucha certyfikatów
Zanim zweryfikujesz certyfikat, musisz podzielić łańcuch certyfikatów na osobne certyfikaty, wykonując te czynności:
- Zaloguj się na serwerze, na którym znajduje się klient OpenSSL.
- Podziel łańcuch certyfikatów na te certyfikaty (jeśli nie zostały jeszcze podzielone):
-
Certyfikat jednostki:
entity.pem -
Certyfikat pośredni:
intermediate.pem -
Certyfikat główny:
root.pem
Na ilustracji poniżej przedstawiono przykładowy łańcuch certyfikatów:
Weryfikowanie podmiotu i wystawcy certyfikatu
W tej sekcji opisujemy, jak uzyskać podmiot i wystawcę certyfikatów oraz sprawdzić, czy masz prawidłowy łańcuch certyfikatów.
-
Aby uzyskać
SubjectiIssuerkażdego certyfikatu w łańcuchu odentitydorooti sprawdzić, czy tworzą one prawidłowy łańcuch certyfikatów, uruchom to polecenie OpenSSL: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:
-
Subjectkażdego certyfikatu jest zgodny zIssuerpoprzedniego certyfikatu w łańcuchu (z wyjątkiem certyfikatuEntity). -
SubjectiIssuersą takie same w przypadku certyfikatu głównego.
Jeśli certyfikaty w łańcuchu są zgodne z tymi wytycznymi, łańcuch certyfikatów jest uznawany za kompletny i prawidłowy.
Przykładowa weryfikacja łańcucha certyfikatów
Poniżej znajduje się przykład danych wyjściowych 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.comCertyfikat pośredni
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 1O1Certyfikat 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 = GlobalSignW przykładzie powyżej zwróć uwagę na te kwestie:
-
Subjectcertyfikatu pośredniego jest zgodny zIssuercertyfikatu jednostki. -
Subjectcertyfikatu głównego jest zgodny zIssuercertyfikatu pośredniego. -
SubjectiIssuersą takie same w przypadku certyfikatu głównego.
Z powyższego przykładu możesz potwierdzić, że przykładowy łańcuch certyfikatów jest prawidłowy.
-
Weryfikowanie hasza podmiotu i wystawcy certyfikatu
W tej sekcji opisujemy, jak uzyskać hasz podmiotu i wystawcy certyfikatów oraz sprawdzić, czy masz prawidłowy łańcuch certyfikatów.
Zawsze warto sprawdzić sekwencję haszy certyfikatów, ponieważ może to pomóc w identyfikowaniu problemów, takich jak niechciane spacje lub znaki specjalne w nazwie pospolitej (CN) certyfikatu.
- Aby uzyskać sekwencję
hashkażdego certyfikatu w łańcuchu odentitydorooti sprawdzić, czy tworzą one prawidłowy łańcuch certyfikatów, uruchom to polecenie OpenSSL: - Sprawdź, czy certyfikaty w łańcuchu są zgodne z tymi wytycznymi:
-
Subjectkażdego certyfikatu jest zgodny zIssuerpoprzedniego certyfikatu w łańcuchu (z wyjątkiem certyfikatuEntity). -
SubjectiIssuersą takie same w przypadku certyfikatu głównego. -
subject hashcertyfikatu pośredniego jest zgodny zissuer hashcertyfikatu jednostki certyfikatu. -
subject hashcertyfikatu głównego jest zgodny zissuer hashcertyfikatu wystawcy. -
subjectiissuer hashsą takie same w przypadku certyfikatu głównego.
openssl x509 -hash -issuer_hash -noout -in certificate
Gdzie certificate to nazwa certyfikatu.
Jeśli certyfikaty w łańcuchu są zgodne z tymi wytycznymi, łańcuch certyfikatów jest uznawany za kompletny i prawidłowy.
Przykładowa weryfikacja łańcucha certyfikatów za pomocą sekwencji haszy
Poniżej znajduje się przykład danych wyjściowych poleceń OpenSSL dla przykładowego łańcucha certyfikatów zawierającego 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
W przykładzie powyżej zwróć uwagę na te kwestie:
Z powyższego przykładu możesz potwierdzić, że przykładowy łańcuch certyfikatów jest prawidłowy.
Weryfikowanie daty ważności certyfikatu
W tej sekcji opisujemy, jak sprawdzić, czy wszystkie certyfikaty w łańcuchu wygasły, za pomocą tych metod:
- Uzyskiwanie daty rozpoczęcia i zakończenia ważności certyfikatu.
- Uzyskiwanie stanu ważności.
Data rozpoczęcia i zakończenia
Aby uzyskać datę rozpoczęcia i zakończenia ważności każdego certyfikatu
w łańcuchu od entity do root i sprawdzić, czy wszystkie certyfikaty
w łańcuchu są ważne (data rozpoczęcia jest wcześniejsza niż dzisiejsza) i nie wygasły, uruchom to polecenie OpenSSL:
Przykładowa weryfikacja daty ważności certyfikatu za pomocą 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
Stan ważności
Aby sprawdzić, czy certyfikat już wygasł lub
wygaśnie w ciągu najbliższych N seconds, uruchom to polecenie OpenSSL: Zwraca ono stan ważności certyfikatu w kontekście bieżącej daty systemowej.
openssl x509 -checkend <N Seconds> -noout -in certificate
Gdzie certificate to nazwa certyfikatu.
Przykładowa weryfikacja daty ważności certyfikatu za pomocą opcji checkend
To polecenie używa 0 seconds, aby sprawdzić, czy certyfikat już wygasł:
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 expireoznacza, że
certyfikat jeszcze nie wygasł.