Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dowiedz się, jak rozwiązywać problemy z uwierzytelnianiem wzajemnym podczas korzystania z usługi Application Gateway.
Przegląd
Po skonfigurowaniu wzajemnego uwierzytelniania w usłudze Application Gateway może wystąpić wiele błędów występujących podczas próby użycia wzajemnego uwierzytelniania. Oto niektóre typowe przyczyny błędów:
- Przekazano certyfikat lub łańcuch certyfikatów bez certyfikatu urzędu certyfikacji głównego.
- Przekazano łańcuch certyfikatów z wieloma certyfikatami głównego urzędu certyfikacji
- Przekazano łańcuch certyfikatów, który zawierał tylko certyfikat końcowy, bez certyfikatu urzędu certyfikacji.
- Błędy walidacji z powodu niezgodności DN wystawcy
Omówimy różne scenariusze, w których można napotkać problemy i jak rozwiązywać problemy z tymi scenariuszami. Następnie zajmiemy się kodami błędów i wyjaśnimy prawdopodobne przyczyny niektórych kodów błędów, które mogą być widoczne z wzajemnym uwierzytelnianiem. Wszystkie błędy uwierzytelniania certyfikatu klienta powinny spowodować kod błędu HTTP 400.
Rozwiązywanie problemów ze scenariuszem — problemy z konfiguracją
Istnieje kilka scenariuszy, które mogą wystąpić podczas próby skonfigurowania wzajemnego uwierzytelniania. Omówimy sposób rozwiązywania problemów z niektórymi z najczęstszych pułapek.
Certyfikat z podpisem własnym
Problem
Przekazany certyfikat klienta jest certyfikatem samopodpisanym, co skutkuje błędem ApplicationGatewayTrustedClientCertificateDoesNotContainAnyCACertificate.
Rozwiązanie
Sprawdź dokładnie, czy używany certyfikat z podpisem własnym ma rozszerzenie BasicConstraintsOid = "2.5.29.19", który wskazuje, że podmiot może działać jako urząd certyfikacji. Zapewni to, że używany certyfikat jest certyfikatem urzędu certyfikacji. Aby uzyskać więcej informacji na temat generowania certyfikatów klienta z podpisem własnym, zapoznaj się z zaufanymi certyfikatami klienta.
Rozwiązywanie problemów w scenariuszu — problemy z łącznością
Być może udało Ci się skonfigurować wzajemne uwierzytelnianie bez żadnych problemów, ale występują problemy podczas wysyłania żądań do usługi Application Gateway. Rozwiązaliśmy niektóre typowe problemy i rozwiązania w poniższej sekcji. Właściwość sslClientVerify można znaleźć w dziennikach dostępu usługi Application Gateway.
SslClientVerify jest NONE
Problem
Właściwość sslClientVerify jest wyświetlana jako "NONE" w dziennikach dostępu.
Rozwiązanie
Jest tak, gdy klient nie wysyła certyfikatu klienta podczas wysyłania żądania do usługi Application Gateway. Może się tak zdarzyć, jeśli klient wysyłający żądanie do usługi Application Gateway nie jest poprawnie skonfigurowany do używania certyfikatów klienta. Jednym ze sposobów sprawdzenia, czy konfiguracja uwierzytelniania klienta w usłudze Application Gateway działa zgodnie z oczekiwaniami, jest zastosowanie następującego polecenia OpenSSL:
openssl s_client -connect <hostname:port> -cert <path-to-certificate> -key <client-private-key-file>
Flaga -cert
to certyfikat liścia, flaga -key
to plik klucza prywatnego klienta.
Aby uzyskać więcej informacji na temat korzystania z polecenia s_client
OpenSSL, zapoznaj się ze stroną podręcznika.
SslClientVerify zakończyła się niepowodzeniem
Problem
Właściwość sslClientVerify jest wyświetlana jako "FAILED" w dziennikach dostępu.
Rozwiązanie
Istnieje wiele potencjalnych przyczyn błędów w dziennikach dostępu. Poniżej znajduje się lista typowych przyczyn niepowodzenia:
- Nie można pobrać certyfikatu wystawcy: Nie można odnaleźć certyfikatu wystawcy certyfikatu klienta. Zwykle oznacza to, że łańcuch certyfikatów CA zaufanego klienta nie jest kompletny w bramie aplikacji. Sprawdź, czy łańcuch certyfikatów zaufanego urzędu certyfikacji klienta przekazany w usłudze Application Gateway jest kompletny.
- Nie można pobrać certyfikatu wystawcy lokalnego: Podobnie jak w przypadku braku możliwości pobrania certyfikatu wystawcy, nie można odnaleźć certyfikatu wystawcy certyfikatu klienta. Zwykle oznacza to, że w Bramce Aplikacji łańcuch certyfikatów CA zaufanego klienta nie jest kompletny. Sprawdź, czy łańcuch certyfikatów zaufanego urzędu certyfikacji klienta przekazany w usłudze Application Gateway został ukończony.
- Nie można zweryfikować pierwszego certyfikatu: Nie można zweryfikować certyfikatu klienta. Ten błąd występuje konkretnie w przypadku, gdy klient przedstawia tylko certyfikat liścia, którego wystawca nie jest zaufany. Sprawdź, czy łańcuch certyfikatów zaufanego urzędu certyfikacji klienta przesłany w usłudze Application Gateway jest kompletny.
- Nie można zweryfikować wystawcy certyfikatu klienta: Ten błąd występuje, gdy konfiguracja VerifyClientCertIssuerDN jest ustawiona na true. To zwykle dzieje się, gdy nazwa wyróżniająca wystawcy certyfikatu klienta nie pasuje do nazwy ClientCertificateIssuerDN, wyodrębnionej z łańcucha certyfikatów zaufanego urzędu certyfikacji przesłanego przez klienta. Aby uzyskać więcej informacji na temat sposobu, w jaki usługa Application Gateway wyodrębnia ClientCertificateIssuerDN, zapoznaj się z tematem Application Gateway wyodrębnia DN wystawcy. Najlepszym rozwiązaniem jest przekazanie jednego łańcucha certyfikatów na plik do usługi Application Gateway.
- Nieobsługiwany cel certyfikatu: Upewnij się, że certyfikat klienta wyznacza rozszerzone użycie klucza na potrzeby uwierzytelniania klienta (1.3.6.1.5.5.7.3.2). Więcej szczegółowych informacji na temat definicji rozszerzonego użycia klucza i identyfikatora obiektu na potrzeby uwierzytelniania klienta można znaleźć w dokumentach RFC 3280 i RFC 5280.
Aby uzyskać więcej informacji na temat wyodrębniania całego łańcucha certyfikatów zaufanego urzędu certyfikacji klienta w celu przekazania do usługi Application Gateway, zapoznaj się ze sposobem wyodrębniania łańcuchów certyfikatów zaufanego urzędu certyfikacji klienta.
Rozwiązywanie problemów z kodem błędu
Jeśli widzisz dowolny z poniższych kodów błędów, mamy kilka zalecanych rozwiązań, które pomogą rozwiązać problem, z którym możesz się zmierzyć.
Kod błędu: ApplicationGatewayTrustedClientCertificateMustSpecifyData
Przyczyna
Brakuje danych certyfikatu. Przekazany certyfikat mógł być pustym plikiem bez żadnych danych certyfikatu.
Rozwiązanie
Sprawdź, czy przekazany plik certyfikatu nie ma żadnych brakujących danych.
Kod błędu: ApplicationGatewayTrustedClientCertificateMustNotHavePrivateKey
Przyczyna
W łańcuchu certyfikatów znajduje się klucz prywatny. W łańcuchu certyfikatów nie powinien istnieć klucz prywatny.
Rozwiązanie
Dokładnie sprawdź przekazany łańcuch certyfikatów i usuń klucz prywatny, który był częścią łańcucha. Załaduj ponownie łańcuch bez klucza prywatnego.
Kod błędu: ApplicationGatewayTrustedClientCertificateInvalidData
Przyczyna
Istnieją dwie potencjalne przyczyny tego kodu błędu.
- Analizowanie nie powiodło się, ponieważ łańcuch nie jest prezentowany w odpowiednim formacie. Usługa Application Gateway oczekuje, że łańcuch certyfikatów będzie w formacie PEM, a także oczekuje, że poszczególne dane certyfikatów zostaną rozdzielone.
- Analizator nie znalazł nic do przeanalizowana. Przekazany plik mógł miał tylko ograniczniki, ale potencjalnie nie zawierał danych certyfikatu.
Rozwiązanie
W zależności od przyczyny tego błędu istnieją dwa potencjalne rozwiązania.
- Sprawdź, czy przekazany łańcuch certyfikatów był w odpowiednim formacie (PEM) i czy dane certyfikatu zostały prawidłowo rozdzielone.
- Sprawdź, czy przekazany plik certyfikatu zawierał dane certyfikatu oprócz ograniczników.
Kod błędu: ApplicationGatewayZaufanyCertyfikatKlientaNieZawieraŻadnegoCertyfikatuCA
Przyczyna
Przekazany certyfikat zawierał tylko certyfikat liścia bez certyfikatu urzędu certyfikacji. Przekazywanie łańcucha certyfikatów z certyfikatami urzędu certyfikacji i certyfikatem końcowym jest akceptowalne, ponieważ certyfikat końcowy będzie po prostu ignorowany, ale certyfikat musi pochodzić z urzędu certyfikacji.
Rozwiązanie
Dokładnie sprawdź, czy przekazany łańcuch certyfikatów zawierał więcej niż tylko certyfikat liścia. Rozszerzenie BasicConstraintsOid = "2.5.29.19" powinno być obecne i wskazuje, że podmiot może działać jako urząd certyfikacji.
Kod błędu: ApplicationGatewayOnlyOneRootCAAllowedInTrustedClientCertificate
Przyczyna
Łańcuch certyfikatów zawierał wiele certyfikatów głównego urzędu certyfikacji lub zawierał zero certyfikatów głównego urzędu certyfikacji.
Rozwiązanie
Przekazane certyfikaty muszą zawierać dokładnie jeden certyfikat głównego urzędu certyfikacji oraz tyle certyfikatów pośredniego urzędu certyfikacji, ile jest potrzebne.