Win7ボックスの証明書ストアが常にハングしています。観察する:
C:\> 1.cmd C:\> certutil-?| findstr / i ping -ping-Active Directory証明書サービス要求インターフェースにpingを実行します -pingadmin-Active Directory証明書サービスの管理インターフェイスをpingします C:\> set PROMPT = $ P($ t)$ G C:\(13:04:28.57)> certutil -ping CertUtil:-pingコマンドが失敗しました:0x80070002(WIN32:2) CertUtil:指定されたファイルが見つかりません。 C:\(13:04:58.68)> certutil -pingadmin CertUtil:-pingadminコマンドが失敗しました:0x80070002(WIN32:2) CertUtil:指定されたファイルが見つかりません。 C:\(13:05:28.79)> PROMPT = $ P $ Gを設定 C:\>
説明:
- 最初のコマンドショーあなたがあること
–ping
と–pingadmin
します。certutilへのパラメータ - pingパラメータの試行が30秒のタイムアウトで失敗する(現在の時刻はプロンプトに表示されます)
これは深刻な問題です。それは私のアプリのすべての安全な通信をねじ込みます。これを修正する方法を誰かが知っている場合は、共有してください。
ありがとう。
PS
1.cmdは、これらのコマンドのバッチです。
certutil -? | findstr /i ping
set PROMPT=$P($t)$G
certutil -ping
certutil -pingadmin
set PROMPT=$P$G
編集1
問題の原因となっている単一のウィンドウAPI- DsGetDcNameを特定することに成功しました
windbgによると、certutil -pingは次のように呼び出します。
PDOMAIN_CONTROLLER_INFO pdci;
DWORD ret = ::DsGetDcName(NULL, NULL, NULL, NULL, DS_DIRECTORY_SERVICE_PREFERRED, &pdci);
ワークステーションで30秒間タイムアウトし、エラーコード1355が返されます。これはERROR_NO_SUCH_DOMAIN
、指定されたドメインで使用できるドメインコントローラーがないか、ドメインが存在しません。
誤ってWindows Server 2003である別のマシンでは、返されたDOMAIN_CONTROLLER_INFO
構造内の正しいドメインコントローラー名でほぼ即座に返されます。
今問題は、そのAPIが正しいドメインコントローラーを見つけるために私のワークステーションに何が欠けていることですか?