次の方法で共有


アプリケーション検証ツール - 停止コード - NTLM

この一連のテストには、次の停止コードが含まれています。

AcquireCredentialsHandle は NTLM 資格情報を明示的に取得します。

考えられる原因

AcquireCredentialsHandle は、pszPackage = 'NTLM' を使用してアプリケーションによって直接または間接的に呼び出されます。 この問題を解決するには、"Negotiate" を使用する必要があります。 不適切な呼び出しの例: AcquireCredentialsHandle( ...'NTLM', // pszPackage ... );適切な呼び出しの例: AcquireCredentialsHandle( ...'Negotiate', // pszPackage ... );この停止コードの詳細については、ヘルプを参照してください。

アプリケーション検証ツールによって表示される情報
  • Parameter 1 - 使用されていません。
  • Parameter 2 - 使用されていません。
  • Parameter 3 - 使用されていません。
  • Parameter 4 - 使用されていません。

追加情報
  • テスト レイヤー: NTLMCaller
  • 停止 ID: ACH_EXPLICIT_NTLM_PACKAGE
  • ストップコード: 5000000
  • 重要度: エラー
  • 1 回限りエラー: いいえ
  • エラー レポート: 中断
  • ファイルにログを記録する: はい
  • バックトレースの作成: はい

AcquireCredentialsHandle は NTLM 資格情報を優先します。 PackageList の値については、Param1 を参照してください。

考えられる原因

AcquireCredentialsHandle は、pszPackage = 'Negotiate' を使用してアプリケーションによって直接または間接的に呼び出されます。 ただし、指定された資格情報 (pAuthData) では NTLM が推奨されます。 不適切な呼び出しの例: AcquireCredentialsHandle( ...'Negotiate', // pszPackage ...pAuthData、// pAuthData、((Standard Edition C_WINNT_AUTH_IDENTITY_EX*)pAuthData)->PackageList が 'NTLM' または 'NTLM,KERBEROS' などです。..;適切な呼び出しの例: AcquireCredentialsHandle( ...'Negotiate', // pszPackage ...pAuthData、// pAuthData、((Standard Edition C_WINNT_AUTH_IDENTITY_EX*)pAuthData)->PackageList = NULL または NTLM は推奨されません。 ... );この停止コードの詳細については、ヘルプを参照してください。

アプリケーション検証ツールによって表示される情報
  • Format: - Packagelist: %.*hs%.*ws
  • Parameter 1 - PackageList.
  • Parameter 2 - 使用されていません。
  • Parameter 3 - 使用されていません。
  • Parameter 4 - 使用されていません。

追加情報
  • テスト レイヤー: NTLMCaller
  • Stop ID: ACH_IMPLICITLY_USE_NTLM
  • ストップコード: 5000001
  • 重要度: エラー
  • 1 回限りエラー: いいえ
  • エラー レポート: 中断
  • ファイルにログを記録する: はい
  • バックトレースの作成: はい

AcquireCredentialsHandle は、誤って '-NTLM' を使用して NTLM 資格情報を除外します。 PackageList の値については、Param1 を参照してください。

考えられる原因

AcquireCredentialsHandle は、指定された資格情報 (pAuthData) を使用してアプリケーションによって直接または間接的に呼び出されます。この場合、'-NTLM' は NTLM 資格情報を除外するために誤って使用されます。 '!NTLM' を使用してこの問題を解決する必要があります。 不適切な呼び出しの例: AcquireCredentialsHandle( ...'Negotiate', // pszPackage ...pAuthData、// pAuthData、((Standard Edition C_WINNT_AUTH_IDENTITY_EX*)pAuthData)->PackageList は '-NTLM' を使用します。 ... ); 適切な呼び出しの例: AcquireCredentialsHandle( ...'Negotiate', // pszPackage ...pAuthData、// pAuthData、((Standard Edition C_WINNT_AUTH_IDENTITY_EX*)pAuthData)->PackageList は '!NTLM' を使用します。 ... );この停止コードの詳細については、ヘルプを参照してください。

アプリケーション検証ツールによって表示される情報
  • Format: - PackageList: %.*hs%.*ws
  • Parameter 1 - PackageList.
  • Parameter 2 - 使用されていません。
  • Parameter 3 - 使用されていません。
  • Parameter 4 - 使用されていません。

追加情報
  • テスト レイヤー: NTLMCaller
  • 停止 ID: ACH_BAD_NTLM_EXCLUSION
  • ストップコード: 5000002
  • 重要度: エラー
  • 1 回限りエラー: いいえ
  • エラー レポート: 中断
  • ファイルにログを記録する: はい
  • バックトレースの作成: はい

InitializeSecurityContext は、Kerberos サービスの NULL ターゲットまたは形式が正しくないターゲットを使用します。 ターゲットの値については、pszTargetName を参照してください。

考えられる原因

InitializeSecurityContext は、アプリケーションによって直接または間接的に呼び出され、pszTargetName が NULL または形式が正しくないため、Kerberos をネゴシエートすることはできません。 Kerberos を使用するためにこの問題を解決するためのガイダンスは次のとおりです。(1) クライアント アプリケーションが認証するサービスは、その SPN をフォレストに一意に登録する必要があります。(2) サービスは、この SPN が登録された id、doメイン ユーザーまたはコンピューター アカウントで実行する必要があります。(3) この SPN で InitializedSecuirtyContext を呼び出す必要があります。 不適切な呼び出しの例: InitializeSecurityContext( ...NULL、// pszTargetName ... );不適切な呼び出しの別の例: InitializeSecurityContext( ...'\\\\localhost', // pszTargetName ... );適切な呼び出しの例: InitializeSecurityContext( ...'myservice/mymachine.mydoメイン.com', // pszTargetName, myservice/mymachine.mydoメイン.com は、サービスが実行される一意に登録された SPN です。... );この停止コードの詳細については、ヘルプを参照してください。

アプリケーション検証ツールによって表示される情報
  • Format: - pszTargetName: %hs%ws
  • Parameter 1 - 使用されていません。
  • Parameter 2 - 使用されていません。
  • Parameter 3 - 使用されていません。
  • Parameter 4 - 使用されていません。

追加情報
  • テスト レイヤー: NTLMCaller
  • 停止 ID: ISC_MALFORMED_TARGET
  • ストップコード: 5000003
  • 重要度: エラー
  • 1 回限りエラー: いいえ
  • エラー レポート: 中断
  • ファイルにログを記録する: はい
  • バックトレースの作成: はい

クライアント アプリケーションは、ネゴシエーションの結果として NTLM 認証を使用するようにダウングレードします。 詳細は、pAuthData をご覧ください。 pAuthData には、このネゴシエーションに使用される資格情報とターゲットが表示されます。

考えられる原因

クライアント アプリケーションは、ネゴシエーションの結果として NTLM 認証を使用するようにダウングレードします。 この問題には多くの理由が考えられます。 この問題のトラブルシューティングのガイダンスは次のとおりです。(1) NTLMCaller appverifier レイヤーがオンでない場合はオンにします。 このレイヤーは、ダウングレードを引き起こす可能性のある一般的な問題をキャッチします。(2) pszTargetName が SPN の場合は、この SPN がフォレストに一意に登録されていることを確認します (SPN を見つからないか重複させることはできません)。(3) SPN は、クライアント アプリケーションを実行しているクライアント システムによって検索される必要があります。(4) サービスは、Kerberos 資格情報を使用できる ID で実行する必要があります。(5) このシナリオは、Windows セキュリティの専門家が確認する必要があります。 この停止コードの詳細については、ヘルプを参照してください。

アプリケーション検証ツールによって表示される情報
  • 形式: - pAuthData: %ws \n\tUser: %hs%ws \n\tDomain: %hs%ws \npszTargetName: %hs%ws
  • Parameter 1 - 使用されていません。
  • Parameter 2 - 使用されていません。
  • Parameter 3 - 使用されていません。
  • Parameter 4 - 使用されていません。

追加情報
  • テスト レイヤー: NTLMDowngrade
  • 停止 ID: FALLBACK_TO_NTLM
  • ストップコード: 5010000
  • 重要度: 警告
  • 1 回限りエラー: いいえ
  • エラー レポート: なし
  • ファイルにログを記録する: はい
  • バックトレースの作成: はい

参照

アプリケーション検証ツール - 停止コードと定義

アプリケーション検証ツール - 概要

アプリケーション検証ツール - 機能

アプリケーション検証ツール - アプリケーションのテスト

アプリケーション検証ツール - アプリケーション検証ツール内のテスト

アプリケーション検証ツール - アプリケーション検証ツール停止のデバッグ

アプリケーション検証ツール - よく寄せられる質問