Sprawdzanie poprawności certyfikatu

Przeglądasz dokumentację Apigee Edge.
Przejdź do Dokumentacja Apigee X.
informacje.

Ten dokument wyjaśnia, jak sprawdzić przeznaczenie certyfikatu przed jego przesłaniem do magazynu kluczy lub zaufania. Proces ten opiera się na OpenSSL do weryfikacji i ma zastosowanie w środowisku, w którym dostępny jest protokół OpenSSL.

Certyfikaty TLS są zwykle wydawane w jednym lub kilku celach, do których można ich używać. Zwykle ma to na celu ograniczenie liczby operacji zawierających klucz publiczny . Cel certyfikatu jest dostępny w tych krajach: rozszerzenia certyfikatów:

  • Użycie klucza
  • Rozszerzone użycie klucza

Użycie klucza

Rozszerzenie dotyczące użycia klucza określa cel (na przykład szyfrowanie, podpis lub podpisywanie certyfikatu) klucza zawartego w certyfikacie. Jeśli klucz publiczny jest używany do uwierzytelnianie jednostki, rozszerzenie certyfikatu powinno mieć użycie klucza Podpis cyfrowy.

Różne rozszerzenia użycia klucza dostępne dla certyfikatu TLS utworzonego przy użyciu Proces urzędu certyfikacji wygląda tak:

  • Podpis cyfrowy
  • Nieodrzucenie
  • Szyfrowanie klucza
  • Szyfrowanie danych
  • Uzgadnianie kluczy
  • Podpisywanie certyfikatów
  • Podpisywanie list CRL
  • Tylko szyfrowanie
  • Tylko odszyfrowywanie

Więcej informacji o tych rozszerzeniach użycia klucza znajdziesz tutaj RFC5280, użycie klucza.

Rozszerzone użycie klucza

To rozszerzenie wskazuje co najmniej jeden cel, do którego może być używany certyfikowany klucz publiczny. oprócz podstawowych celów wskazanych w rozszerzeniu dotyczącym użycia klucza lub zamiast nich. W ogólnie rzecz biorąc, to rozszerzenie będzie pojawiać się tylko w certyfikatach jednostki końcowej.

Oto niektóre typowe rozszerzenia związane z rozszerzonym wykorzystaniem klucza:

  • TLS Web server authentication
  • TLS Web client authentication
  • anyExtendedKeyUsage

Klucz rozszerzony może być krytyczny lub niekrytyczny.

  • Jeśli rozszerzenie jest krytyczne, certyfikatu można używać tylko we wskazanych cel lub cele. Jeśli certyfikat jest używany do innego celu, narusza do zasad urzędu certyfikacji.
  • Jeśli rozszerzenie jest niekrytyczne, wskazuje jego przeznaczenie klucz ma charakter informacyjny i nie oznacza, że urząd certyfikacji ogranicza jego użycie do określony cel. Jednak aplikacje korzystające z certyfikatów mogą wymagać użycia określonych celu, aby certyfikat był akceptowalny.

Jeśli certyfikat zawiera zarówno pole użycia klucza, jak i pole rozszerzonego użycia klucza jako krytyczne, oba pola muszą być przetwarzane niezależnie, a certyfikat można wykorzystać tylko w celu spełnienia obu wartości użycia klucza. Jeśli jednak nie ma dla określonego celu, który może spełniać obie wartości użycia klucza, to tego certyfikatu nie można używać do w dowolnym celu.

Gdy kupujesz certyfikat, upewnij się, że ma on zdefiniowane użycie klucza, aby spełnić wymagania wymagania dotyczące certyfikatów klienta lub serwera, bez których uzgadnianie połączenia TLS nie powiedzie się.

Purpose Użycie klucza

(obowiązkowe)

Rozszerzone użycie klucza

(opcjonalne)

Certyfikat jednostki serwera używany w magazynie kluczy hosta wirtualnego Apigee Edge
  • Podpis cyfrowy
  • Szyfrowanie lub uzgadnianie klucza
Uwierzytelnianie serwera WWW TLS
Certyfikat jednostki klienta używany w Apigee Edge magazyn zaufania hosta wirtualnego
  • Podpis cyfrowy lub uzgadnianie klucza
Uwierzytelnianie klienta internetowego TLS
Certyfikat jednostki serwera używany w Apigee Edge Truststore serwera docelowego
  • Podpis cyfrowy
  • Szyfrowanie lub uzgadnianie klucza
Uwierzytelnianie serwera WWW TLS
Certyfikat jednostki klienta używany w magazynie kluczy serwera docelowego Apigee Edge
  • Podpis cyfrowy lub uzgadnianie klucza
Uwierzytelnianie klienta internetowego TLS
Certyfikaty pośrednie i główne
  • Znak certyfikatu
  • Znak listy odwołanych certyfikatów (CRL)

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
  • Więcej informacji o rozszerzeniach związanych z użyciem klucza i rozszerzonym korzystaniu z kluczy znajdziesz w artykule RFC5280.
  • Jeśli chcesz użyć przykładowych wierszy poleceń z tego przewodnika, zainstaluj lub zaktualizuj aplikację do najnowszej wersji wersję klienta OpenSSL.
  • Sprawdź, czy certyfikaty są w formacie PEM. Jeśli nie, przekonwertować certyfikaty do formatu PEM.

Zweryfikuj przeznaczenie certyfikatu

W tej sekcji opisano czynności, które należy wykonać, aby sprawdzić przeznaczenie certyfikatu.

  1. Zaloguj się na serwerze, na którym działa OpenSSL.
  2. Aby uzyskać informacje o wykorzystaniu klucza certyfikatu, uruchom to polecenie OpenSSL:
    openssl x509 -noout -ext keyUsage < certificate

    Gdzie certificate to nazwa certyfikatu.

    Przykładowe dane wyjściowe

    openssl x509 -noout -ext keyUsage < entity.pem
    X509v3 Key Usage: critical
        Digital Signature, Key Encipherment
    
    openssl x509 -noout -ext keyUsage < intermediate.pem
    X509v3 Key Usage: critical
        Certificate Sign, CRL Sign
  3. Jeśli użycie klucza jest obowiązkowe, uznajemy je za krytyczne w ten sposób:
    openssl x509 -noout -ext keyUsage < intermediate.pem
    X509v3 Key Usage: critical
        Certificate Sign, CRL Sign
  4. Uruchom to polecenie, aby uzyskać rozszerzone użycie klucza dla certyfikatu. Jeśli rozszerzone użycie klucza nie zostało zdefiniowane jako krytyczne, jest to zalecenie, nie jest mandatem.
    openssl x509 -noout -ext extendedKeyUsage < certificate

    Gdzie certificate to nazwa certyfikatu.

    Przykładowe dane wyjściowe

    openssl x509 -noout -ext extendedKeyUsage < entity.pem
    X509v3 Extended Key Usage:
        TLS Web Server Authentication, TLS Web Client Authentication
    
    openssl x509 -noout -ext extendedKeyUsage < intermediate.pem
    X509v3 Extended Key Usage:
        TLS Web Server Authentication, TLS Web Client Authentication
.