Sprawdzanie poprawności certyfikatu

Przeglądasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X.
Informacje

W tym dokumencie opisujemy, jak sprawdzić przeznaczenie certyfikatu przed jego przesłaniem do magazynu kluczy lub zaufanego magazynu. Proces weryfikacji opiera się na OpenSSL i działa we wszystkich środowiskach, w których dostępny jest 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, w których można używać klucza publicznego zawartego w certyfikacie. Cel certyfikatu jest dostępny w tych rozszerzeniach certyfikatów:

  • Użycie klucza
  • Rozszerzone użycie klucza

Użycie klucza

Rozszerzenie związane z użyciem klucza określa cel (na przykład szyfrowanie, podpis lub podpisywanie certyfikatu) klucza zawartego w certyfikacie. Jeśli do uwierzytelniania jednostki używany jest klucz publiczny, rozszerzenie certyfikatu powinno zawierać użycie klucza Podpis cyfrowy.

W przypadku certyfikatu TLS utworzonego za pomocą procesu urzędu certyfikacji mogą występować te rozszerzenia związane z użyciem klucza:

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

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

Rozszerzone użycie klucza

To rozszerzenie wskazuje co najmniej 1 cel, do którego można używać certyfikowanego klucza publicznego, oprócz podstawowych celów określonych w rozszerzeniu użycia klucza lub zamiast nich. Ogólnie to rozszerzenie będzie pojawiać się tylko w certyfikatach jednostek końcowych.

Oto niektóre typowe rozszerzenia o rozszerzonym wykorzystaniu kluczy:

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

Klucz rozszerzony może być krytyczny lub niekrytyczny.

  • Jeśli rozszerzenie jest krytyczne, certyfikat należy używać tylko do określonego celu. Jeśli certyfikat jest używany do innego celu, narusza zasady urzędu certyfikacji.
  • Jeśli rozszerzenie jest niekrytyczne, wskazuje ono przeznaczenie lub przeznaczenie klucza ma charakter informacyjny i nie sugeruje, że urząd certyfikacji ogranicza użycie klucza do wskazanego celu. Jednak aplikacje korzystające z certyfikatów mogą wymagać wskazania konkretnego celu, aby certyfikat został zaakceptowany.

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 certyfikatu można używać tylko do celów, które spełniają obie wartości użycia klucza. Jeśli jednak nie ma celu, który spełniałby obie wartości użycia klucza, nie można używać tego certyfikatu do żadnego celu.

Przy zakupie certyfikatu sprawdź, czy ma ono zdefiniowane poprawne użycie klucza, aby spełnić 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

(optional)

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

Zanim zaczniesz

Zanim wykonasz czynności opisane w tym dokumencie, upewnij się, że rozumiesz następujące zagadnienia:

  • Jeśli nie znasz jeszcze łańcucha certyfikatów, przeczytaj artykuł Łańcuch zaufania.
  • Jeśli nie znasz biblioteki OpenSSL, przeczytaj artykuł OpenSSL.
  • Więcej informacji o rozszerzeniach użycia kluczy i rozszerzonym wykorzystaniu kluczy znajdziesz w dokumencie RFC5280.
  • Jeśli chcesz używać przykładów wiersza poleceń podanych w tym przewodniku, zainstaluj lub zaktualizuj klienta OpenSSL
  • Sprawdź, czy certyfikaty są w formacie PEM. Jeśli nie, przekonwertuj certyfikaty do formatu PEM.

Zweryfikuj przeznaczenie certyfikatu

W tej sekcji opisano czynności potrzebne do zweryfikowania przeznaczenia certyfikatu.

  1. Zaloguj się na serwer, na którym działa OpenSSL.
  2. Aby sprawdzić użycie klucza certyfikatu, uruchom to polecenie OpenSSL:
    openssl x509 -noout -ext keyUsage < certificate
    

    Gdzie certificate to nazwa certyfikatu.

    Przykładowe wyniki

    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, zostanie zdefiniowane jako krytyczne w następujący sposób:
    openssl x509 -noout -ext keyUsage < intermediate.pem
    X509v3 Key Usage: critical
        Certificate Sign, CRL Sign
    
  4. Uruchom poniższe polecenie, aby uzyskać informacje o rozszerzonym użyciu klucza dla certyfikatu. Jeśli rozszerzone użycie klucza nie jest zdefiniowane jako krytyczne, jest to zalecenie, a nie zobowiązanie.
    openssl x509 -noout -ext extendedKeyUsage < certificate
    

    Gdzie certificate to nazwa certyfikatu.

    Przykładowe wyniki

    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