Troubleshoot LDAP over SSL connection problems
- 09/08/2020
- 3 minutes to read
-
- D
- s
W tym artykule omówiono kroki dotyczące rozwiązywania problemów z połączeniem LDAP over SSL (LDAPS).
Oryginalna wersja produktu: Windows Server 2003
Oryginalny numer KB: 938703
Krok 1: Zweryfikuj certyfikat Server Authentication
Upewnij się, że używany certyfikat Server Authentication spełnia następujące wymagania:
-
W pełni kwalifikowana nazwa domeny Active Directory kontrolera domeny pojawia się w jednym z następujących miejsc:
- Nazwa zwyczajowa (CN) w polu Subject.
- Rozszerzenie Subject Alternative Name (SAN) we wpisie DNS.
-
Rozszerzenie enhanced key usage zawiera identyfikator obiektu Server Authentication (1.3.6.1.5.5.7.3.1).
-
Przypisany klucz prywatny jest dostępny na kontrolerze domeny. Aby sprawdzić, czy klucz jest dostępny, użyj polecenia
certutil -verifykeys
. -
Łańcuch certyfikatów jest ważny na komputerze klienckim. Aby ustalić, czy certyfikat jest ważny, wykonaj następujące kroki:
-
Na kontrolerze domeny użyj okna podręcznego Certyfikaty, aby wyeksportować certyfikat SSL do pliku o nazwie Serverssl.cer.
-
Kopiuj plik Serverssl.cer na komputer kliencki.
-
Na komputerze klienckim otwórz okno Wiersz poleceń.
-
W wierszu poleceń wpisz następujące polecenie, aby wysłać dane wyjściowe polecenia do pliku o nazwie Wyjście.txt:
certutil -v -urlfetch -verify serverssl.cer > output.txt
Uwaga
Aby wykonać ten krok, należy mieć zainstalowane narzędzie wiersza poleceń Certutil.
-
Otwórz plik Output.txt, a następnie wyszukaj w nim błędy.
-
Krok 2: Zweryfikuj certyfikat uwierzytelniania klienta
W niektórych przypadkach LDAPS używa certyfikatu uwierzytelniania klienta, jeśli jest on dostępny na komputerze klienckim. Jeśli taki certyfikat jest dostępny, upewnij się, że spełnia on następujące wymagania:
-
Rozszerzenie użycia klucza zawiera identyfikator obiektu Client Authentication (1.3.6.1.5.5.7.3.2).
-
Przypisany klucz prywatny jest dostępny na komputerze klienckim. Aby sprawdzić, czy klucz jest dostępny, użyj polecenia
certutil -verifykeys
. -
Łańcuch certyfikatów jest ważny na kontrolerze domeny. Aby ustalić, czy certyfikat jest ważny, wykonaj następujące kroki:
-
Na komputerze klienckim użyj okna podręcznego Certyfikaty, aby wyeksportować certyfikat SSL do pliku o nazwie Clientssl.cer.
-
Kopiuj plik Clientssl.cer na serwer.
-
Na serwerze otwórz okno Wiersza poleceń.
-
W wierszu poleceń wpisz następujące polecenie, aby wysłać dane wyjściowe polecenia do pliku o nazwie Outputclient.txt:
certutil -v -urlfetch -verify serverssl.cer > outputclient.txt
-
Otwórz plik Outputclient.txt, a następnie wyszukaj błędy.
-
Krok 3: Sprawdź, czy wiele certyfikatów SSL
Określ, czy wiele certyfikatów SSL spełnia wymagania, które zostały opisane w kroku 1. Schannel (dostawca SSL firmy Microsoft) wybiera pierwszy ważny certyfikat, który znajdzie w sklepie Local Computer. Jeśli w sklepie Komputera lokalnego dostępnych jest wiele ważnych certyfikatów, program Schannel może nie wybrać właściwego certyfikatu. Konflikt z certyfikatem urzędu certyfikacji (CA) może wystąpić, jeśli CA jest zainstalowany na kontrolerze domeny, do którego próbujesz uzyskać dostęp poprzez LDAPS.
Krok 4: Sprawdź połączenie LDAPS na serwerze
Użyj narzędzia Ldp.exe na kontrolerze domeny, aby spróbować połączyć się z serwerem za pomocą portu 636. Jeśli nie możesz połączyć się z serwerem używając portu 636, zobacz błędy, które generuje Ldp.exe. Przejrzyj również logi Event Viewer, aby znaleźć błędy. Aby uzyskać więcej informacji na temat używania programu Ldp.exe do łączenia się z portem 636, zobacz Jak włączyć protokół LDAP przez SSL z zewnętrznym urzędem certyfikacji.
Krok 5: Włącz rejestrowanie Schannel
Włącz rejestrowanie zdarzeń Schannel na serwerze i na komputerze klienckim. Aby uzyskać więcej informacji na temat włączania rejestrowania zdarzeń kanału Schannel, zobacz Jak włączyć rejestrowanie zdarzeń kanału Schannel w systemie Windows i Windows Server.
Uwaga
Jeśli musisz wykonać debugowanie SSL na komputerze z systemem Microsoft Windows NT 4.0, musisz użyć pliku Schannel.dll dla zainstalowanego pakietu serwisowego Windows NT 4.0, a następnie podłączyć debugger do komputera. Rejestrowanie Schannel wysyła dane wyjściowe do debuggera tylko w systemie Windows NT 4.0.