我的Win7盒子上的证书存储是不断悬挂的。 注意:
C:\> 1.cmd C:\> certutil - ? | findstr /我平 -ping - Ping Active Directory证书服务请求界面 -pingadmin - Ping Active Directory证书服务pipe理界面 C:\>设置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)> set PROMPT = $ P $ G C:\>
说明:
–pingadmin和–pingadmin参数 这是一个严重的问题。 它在我的应用程序中将所有的安全通信都locking 如果有人知道如何解决这个问题,请分享。
谢谢。
PS
1.cmd只是这些命令的一批:
certutil -? | findstr /i ping set PROMPT=$P($t)$G certutil -ping certutil -pingadmin set PROMPT=$P$G
EDIT1
我已经成功地locking导致问题的单个窗口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结构中的正确的域控制器名称。
现在的问题是什么是我的工作站上找不到这个APIfind正确的域控制器?
请检查以下内容
certutil -ping -config "cadnsname\CA logical name" 。 查看DCOM权限以确保经身份validation的用户在CA具有正确的权限。 CA证书服务的DCOM权限DCOM访问组:
访问权限级别 – >本地访问 – 允许,远程访问 – 允许启动和激活权限级别 – >远程启动 – 允许,远程激活 – 允许
有关更多详细信息,请参阅下面的URL进行故障排除。