Udostępnij przez


Weryfikator aplikacji — kody zatrzymania — NTLM

Poniższe kody zatrzymania znajdują się w tym zestawie testów.

AcquireCredentialsHandle uzyskuje jawnie poświadczenia NTLM.

prawdopodobną przyczyną

Funkcja AcquireCredentialsHandle jest wywoływana bezpośrednio lub pośrednio przez aplikację za pomocą biblioteki pszPackage = "NTLM". Aby rozwiązać ten problem, należy użyć polecenia "Negotiate". Przykład nieprawidłowego wywołania: AcquireCredentialsHandle( ... 'NTLM', // pszPackage ... ); Przykład dobrego wywołania: AcquireCredentialsHandle( ... 'Negotiate', // pszPackage ... ); Aby uzyskać bardziej szczegółowe informacje na temat tego kodu zatrzymania, zapoznaj się z pomocą.

informacje wyświetlane przez weryfikatora aplikacji
  • parametr 1 — Nie jest używany.
  • Parametr 2 — Nie jest używany.
  • Parametr 3 — Nie jest używany.
  • Parametr 4 — Nie jest używany.

dodatkowe informacje
  • warstwa testowa : NTLMCaller
  • Identyfikator zatrzymania: ACH_EXPLICIT_NTLM_PACKAGE
  • Kod zatrzymania: 5000000
  • ważność : błąd 
  • błąd jednorazowy : nie
  • raport o błędach : przerwa 
  • Dziennika do pliku: tak
  • Tworzenie śledzenia wstecznego: tak

AcquireCredentialsHandle preferuje poświadczenia NTLM. Aby uzyskać wartość PackageList, zobacz Param1.

prawdopodobną przyczyną

Funkcja AcquireCredentialsHandle jest wywoływana bezpośrednio lub pośrednio przez aplikację za pomocą pakietu pszPackage = "Negotiate". Jednak protokół NTLM jest preferowany w podanym poświadczenie (pAuthData). Przykład nieprawidłowego wywołania: AcquireCredentialsHandle( ... 'Negotiate', // pszPackage ... pAuthData, // pAuthData, ((SEC_WINNT_AUTH_IDENTITY_EX*)pAuthData)->PackageList to "NTLM" lub "NTLM,KERBEROS" itp.... ); Przykład dobrego wywołania: AcquireCredentialsHandle( ... 'Negotiate', // pszPackage ... pAuthData, // pAuthData, ((SEC_WINNT_AUTH_IDENTITY_EX*)pAuthData)->PackageList = NULL lub NTLM jest mniej preferowany. ... ); Aby uzyskać bardziej szczegółowe informacje na temat tego kodu zatrzymania, zapoznaj się z pomocą.

informacje wyświetlane przez weryfikatora aplikacji
  • format : — lista pakietów : %.*hs%.*ws
  • parametr 1 — PackageList.
  • Parametr 2 — Nie jest używany.
  • Parametr 3 — Nie jest używany.
  • Parametr 4 — Nie jest używany.

dodatkowe informacje
  • warstwa testowa : NTLMCaller
  • Identyfikator zatrzymania: ACH_IMPLICITLY_USE_NTLM
  • Kod zatrzymania: 5000001
  • ważność : błąd 
  • błąd jednorazowy : nie
  • raport o błędach : przerwa 
  • Dziennika do pliku: tak
  • Tworzenie śledzenia wstecznego: tak

AcquireCredentialsHandle błędnie używa "-NTLM" do wykluczenia poświadczeń NTLM. Aby uzyskać wartość PackageList, zobacz Param1.

prawdopodobną przyczyną

Metoda AcquireCredentialsHandle jest wywoływana bezpośrednio lub pośrednio przez aplikację z podanymi poświadczeniami (pAuthData), w których błędnie użyto polecenia "-NTLM" do wykluczenia poświadczeń NTLM. '! Należy użyć protokołu NTLM, aby rozwiązać ten problem. Przykład nieprawidłowego wywołania: AcquireCredentialsHandle( ... 'Negotiate', // pszPackage ... pAuthData, // pAuthData, ((SEC_WINNT_AUTH_IDENTITY_EX*)pAuthData)->PackageList używa parametru "-NTLM". ... ); Przykład dobrego wywołania: AcquireCredentialsHandle( ... 'Negotiate', // pszPackage ... pAuthData, // pAuthData, ((SEC_WINNT_AUTH_IDENTITY_EX*)pAuthData)->PackageList używa elementu '! NTLM". ... ); Aby uzyskać bardziej szczegółowe informacje na temat tego kodu zatrzymania, zapoznaj się z pomocą.

informacje wyświetlane przez weryfikatora aplikacji
  • format : — PackageList: %.*hs%.*ws
  • parametr 1 — PackageList.
  • Parametr 2 — Nie jest używany.
  • Parametr 3 — Nie jest używany.
  • Parametr 4 — Nie jest używany.

dodatkowe informacje
  • warstwa testowa : NTLMCaller
  • Identyfikator zatrzymania: ACH_BAD_NTLM_EXCLUSION
  • Kod zatrzymania: 5000002
  • ważność : błąd 
  • błąd jednorazowy : nie
  • raport o błędach : przerwa 
  • Dziennika do pliku: tak
  • Tworzenie śledzenia wstecznego: tak

InitializeSecurityContext używa elementu docelowego NULL lub źle sformułowanego elementu docelowego dla usługi Kerberos. Aby uzyskać wartość obiektu docelowego, zobacz pszTargetName.

prawdopodobną przyczyną

InitializeSecurityContext jest wywoływany bezpośrednio lub pośrednio przez aplikację z parametrem pszTargetName o wartości NULL lub źle sformułowanym, z którym nie można negocjować protokołu Kerberos. Wskazówki dotyczące rozwiązania tego problemu w celu korzystania z protokołu Kerberos są podane poniżej: (1) Usługa, w ramach których aplikacja kliencka uwierzytelnia się, powinna mieć unikatową nazwę SPN zarejestrowaną w lesie; (2) Usługa musi działać w ramach tożsamości, użytkownika domeny lub konta komputera, z tą nazwą SPN zarejestrowaną; (3) InitializedSecuirtyContext należy wywołać za pomocą tej nazwy SPN. Przykład nieprawidłowego wywołania: InitializeSecurityContext( ... NULL, // pszTargetName ... ); Inny przykład nieprawidłowego wywołania: InitializeSecurityContext( ... '\\localhost', // pszTargetName ... ); Przykład dobrego wywołania: InitializeSecurityContext( ... "myservice/mymachine.mydomain.com", // pszTargetName, myservice/mymachine.mydomain.com jest unikatowo zarejestrowaną nazwą SPN, w ramach której działa usługa. ... ); Aby uzyskać bardziej szczegółowe informacje na temat tego kodu zatrzymania, zapoznaj się z pomocą.

informacje wyświetlane przez weryfikatora aplikacji
  • format : — pszTargetName: %hs%ws
  • parametr 1 — Nie jest używany.
  • Parametr 2 — Nie jest używany.
  • Parametr 3 — Nie jest używany.
  • Parametr 4 — Nie jest używany.

dodatkowe informacje
  • warstwa testowa : NTLMCaller
  • identyfikator zatrzymania : ISC_MALFORMED_TARGET
  • Kod zatrzymania: 5000003
  • ważność : błąd 
  • błąd jednorazowy : nie
  • raport o błędach : przerwa 
  • Dziennika do pliku: tak
  • Tworzenie śledzenia wstecznego: tak

W wyniku negocjacji aplikacja kliencka obniża uwierzytelnianie NTLM. Aby uzyskać więcej informacji, zobacz pAuthData. Wartość pAuthData zawiera poświadczenia i element docelowy używany do negocjacji.

prawdopodobną przyczyną

W wyniku negocjacji aplikacja kliencka obniża uwierzytelnianie NTLM. Przyczyną tego problemu może być wiele przyczyn. Wskazówki dotyczące rozwiązywania tego problemu przedstawiono poniżej: (1) Włącz warstwę aplikacji NTLMCaller, jeśli nie była włączona. Ta warstwa będzie przechwytywać często znane problemy, które mogą powodować obniżenie poziomu; (2) Jeśli pszTargetName jest nazwą SPN, upewnij się, że ta nazwa SPN jest unikatowo zarejestrowana w lesie (nie można brakować ani duplikować nazwy SPN); (3) Nazwa SPN musi być wyszukana przez system kliencki z uruchomioną aplikacją kliencka; (4) Usługa musi działać w ramach tożsamości z dostępnymi poświadczeniami protokołu Kerberos; (5) Scenariusz należy przejrzeć przez ekspertów ds. zabezpieczeń systemu Windows. Aby uzyskać bardziej szczegółowe informacje na temat tego kodu zatrzymania, zapoznaj się z pomocą.

informacje wyświetlane przez weryfikatora aplikacji
  • format : — pAuthData: %ws \n\tUser: %hs%ws \n\tDomain: %hs%ws \npszTargetName: %hs%ws
  • parametr 1 — Nie jest używany.
  • Parametr 2 — Nie jest używany.
  • Parametr 3 — Nie jest używany.
  • Parametr 4 — Nie jest używany.

dodatkowe informacje
  • warstwa testowa : NTLMDowngrade
  • Identyfikator zatrzymania: FALLBACK_TO_NTLM
  • Kod zatrzymania: 5010000
  • ważność : ostrzeżenie 
  • błąd jednorazowy : nie
  • raport o błędach : None
  • Dziennika do pliku: tak
  • Tworzenie śledzenia wstecznego: tak

Zobacz też

Application Verifier — kody zatrzymania i definicje

Application Verifier — omówienie

Application Verifier — funkcje

Application Verifier — testowanie aplikacji

Application Verifier — testy w Weryfikatora aplikacji

Application Verifier — debugowanie weryfikatora aplikacji zatrzymuje

Application Verifier — często zadawane pytania