共用方式為


應用程式驗證器 - 停止代碼 - NTLM

下列停止代碼包含在這組測試中。

AcquireCredentialsHandle 會明確取得 NTLM 認證。

可能的原因

使用 pszPackage = 'NTLM' 的應用程式直接或間接呼叫 AcquireCredentialsHandle。 「交涉」應該用來修正此問題。 不正確的呼叫範例:AcquireCredentialsHandle ( ...'NTLM', // pszPackage ... ) ;良好呼叫的範例:AcquireCredentialsHandle ( ...'Negotiate', // pszPackage ... ) ;如需此停止程式碼的詳細資訊,請參閱說明。

應用程式驗證器顯示的資訊
  • 參數 1 -   未使用。
  • 參數 2 -   未使用。
  • 參數 3 -   未使用。
  • 參數 4 -   未使用。

其他資訊
  • 測試層: NTLMCaller
  • 停止識別碼: ACH_EXPLICIT_NTLM_PACKAGE
  • 停止程式碼: 5000000
  • 嚴重性: 錯誤
  • 一次性錯誤: 不
  • 錯誤報表: 打破
  • 記錄到檔案: 是的
  • 建立回溯: 是的

AcquireCredentialsHandle 偏好 NTLM 認證。 如需 PackageList 的值,請參閱 Param1。

可能的原因

AcquireCredentialsHandle 是由具有 pszPackage = 'Negotiate' 的應用程式直接或間接呼叫。 不過,在提供的認證 (pAuthData) ,最好使用 NTLM。 不正確的呼叫範例:AcquireCredentialsHandle ( ...'Negotiate', // pszPackage ...pAuthData、// pAuthData、 ( (SEC_WINNT_AUTH_IDENTITY_EX*) pAuthData) -PackageList > 為 'NTLM' 或 'NTLM,KERBEROS' 等...) ;良好呼叫的範例:AcquireCredentialsHandle ( ...'Negotiate', // pszPackage ...pAuthData、// pAuthData、 ( (SEC_WINNT_AUTH_IDENTITY_EX*) pAuthData) -PackageList > = Null 或 NTLM 較不慣用。 ... ) ;如需此停止程式碼的詳細資訊,請參閱說明。

應用程式驗證器顯示的資訊
  • 格式: -   Packagelist: %.*hs%.*ws
  • 參數 1 -   PackageList。
  • 參數 2 -   未使用。
  • 參數 3 -   未使用。
  • 參數 4 -   未使用。

其他資訊
  • 測試層: NTLMCaller
  • 停止識別碼: ACH_IMPLICITLY_USE_NTLM
  • 停止程式碼: 5000001
  • 嚴重性: 錯誤
  • 一次性錯誤: 不
  • 錯誤報表: 打破
  • 記錄到檔案: 是的
  • 建立回溯: 是的

AcquireCredentialsHandle 不小心使用 '-NTLM' 來排除 NTLM 認證。 如需 PackageList 的值,請參閱 Param1。

可能的原因

AcquireCredentialsHandle 是由應用程式直接或間接呼叫,其提供的認證 (pAuthData) ,其中 '-NTLM' 不小心用來排除 NTLM 認證。 '!NTLM' 應該用來修正此問題。 不正確的呼叫範例:AcquireCredentialsHandle ( ...'Negotiate', // pszPackage ...pAuthData、// pAuthData、 ( (SEC_WINNT_AUTH_IDENTITY_EX*) pAuthData) -PackageList > 使用 '-NTLM'。 ... ) ;良好呼叫的範例:AcquireCredentialsHandle ( ...'Negotiate', // pszPackage ...pAuthData、// pAuthData、 ( (SEC_WINNT_AUTH_IDENTITY_EX*) pAuthData) -PackageList > 使用 '!NTLM'。 ... ) ;如需此停止程式碼的詳細資訊,請參閱說明。

應用程式驗證器顯示的資訊
  • 格式: -   PackageList: %.*hs%.*ws
  • 參數 1 -   PackageList。
  • 參數 2 -   未使用。
  • 參數 3 -   未使用。
  • 參數 4 -   未使用。

其他資訊
  • 測試層: NTLMCaller
  • 停止識別碼: ACH_BAD_NTLM_EXCLUSION
  • 停止程式碼: 5000002
  • 嚴重性: 錯誤
  • 一次性錯誤: 不
  • 錯誤報表: 打破
  • 記錄到檔案: 是的
  • 建立回溯: 是的

InitializeSecurityCoNtext 會針對 Kerberos 服務使用 Null 目標或格式不正確的目標。 如需目標的值,請參閱 pszTargetName。

可能的原因

使用 pszTargetName 為 Null 或格式不正確的應用程式直接或間接呼叫 InitializeSecurityCoNtext,因此無法交涉 Kerberos。 修正此問題以使用 Kerberos 的指引如下所示: (1) 用戶端應用程式驗證的服務應該在其樹系中唯一登錄其 SPN; (2) 此服務必須在已註冊此 SPN 的身分識別、網域使用者或電腦帳戶下執行; (3) InitializedSecuirtyCoNtext 應該使用此 SPN 呼叫。 不正確的呼叫範例:InitializeSecurityCoNtext ( ...Null、// pszTargetName ... ) ;另一個不正確的呼叫範例:InitializeSecurityCoNtext ( ...'\\\localhost', // pszTargetName ... ) ;良好呼叫的範例:InitializeSecurityCoNtext ( ...'myservice/mymachine.mydomain.com', // pszTargetName, myservice/mymachine.mydomain.com 是服務執行所在的唯一登錄 SPN。... ) ;如需此停止程式碼的詳細資訊,請參閱說明。

應用程式驗證器顯示的資訊
  • 格式: -   pszTargetName: %hs%ws
  • 參數 1 -   未使用。
  • 參數 2 -   未使用。
  • 參數 3 -   未使用。
  • 參數 4 -   未使用。

其他資訊
  • 測試層: NTLMCaller
  • 停止識別碼: ISC_MALFORMED_TARGET
  • 停止程式碼: 5000003
  • 嚴重性: 錯誤
  • 一次性錯誤: 不
  • 錯誤報表: 打破
  • 記錄到檔案: 是的
  • 建立回溯: 是的

用戶端應用程式降級為使用 NTLM 驗證作為交涉結果。 如需詳細資訊,請參閱 pAuthData。 pAuthData 會顯示用於此交涉的認證和目標。

可能的原因

用戶端應用程式降級為使用 NTLM 驗證作為交涉結果。 此問題有許多原因。 此問題的疑難排解指引如下: (1) 未開啟 NTLMCaller appverifier 層時開啟 NTLMCaller 應用程式層。 此層將攔截可能導致降級的常見已知問題; (2) 如果 pszTargetName 是 SPN,請確定此 SPN 已在樹系中唯一登錄, (SPN 無法遺失或重複) ; (3) 執行用戶端應用程式的用戶端電腦必須查閱 SPN; (4) 服務必須以可用的 Kerberos 認證在身分識別下執行; (5) Windows 安全性專家應檢閱此案例。 如需此停止程式碼的詳細資訊,請參閱說明。

應用程式驗證器所顯示的資訊
  • 格式: -   pAuthData: %ws \n\tUser: %hs%ws \n\tDomain: %hs%ws \npszTargetName: %hs%ws
  • 參數 1 -   未使用。
  • 參數 2 -   未使用。
  • 參數 3 -   未使用。
  • 參數 4 -   未使用。

其他資訊
  • 測試層: NTLMDowngrade
  • 停止識別碼: FALLBACK_TO_NTLM
  • 停止程式碼: 5010000
  • 嚴重性: 警告
  • 一次性錯誤: 不
  • 錯誤報表: 沒有
  • 記錄檔: 是的
  • 建立回溯: 是的

另請參閱

應用程式驗證器 - 停止代碼和定義

應用程式驗證器 - 概觀

應用程式驗證器 - 功能

應用程式驗證器 - 測試應用程式

應用程式驗證器 - 應用程式驗證器內的測試

應用程式驗證器 - 對應用程式驗證器停止進行偵錯

應用程式驗證器 - 常見問題