certutil -ping失败,超时30秒-怎么办?


10

我的Win7盒子上的证书存储区一直在挂。观察:


C:\> 1.cmd

C:\> certutil-?| findstr / i ping
  -ping-Ping Active Directory证书服务请求界面
  -pingadmin-Ping Active Directory证书服务管理界面

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)>设置PROMPT = $ P $ G

C:\>

说明:

  • 第一条命令显示你有–ping–pingadmin参数的certutil
  • 尝试任何ping参数失败,并显示30秒超时(在提示符中显示当前时间)

这是一个严重的问题。它把我所有的安全通信都搞砸了。如果有人知道如何解决-请分享。

谢谢。

聚苯乙烯

1.cmd只是这些命令的一部分:

certutil -? | findstr /i ping
set PROMPT=$P($t)$G
certutil -ping
certutil -pingadmin
set PROMPT=$P$G

编辑1

我已经成功确定了导致问​​题的单个Windows 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来查找正确的域控制器?

Answers:


0

请检查以下内容

  1. 您可以certutil -ping -config "cadnsname\CA logical name"从受影响的主机运行吗?
  2. 谁有权在CA处请求证书(有人将“身份验证的用户”更改为“域用户”)?
  3. 查看“ DCOM权限”以确保经过身份验证的用户在CA上具有正确的权限。证书服务DCOM访问组的CA上的DCOM权限:

    访问权限级别->本地访问-允许,远程访问-允许启动和激活权限级别->远程启动-允许,远程激活-允许

有关更多详细信息,请参阅下面的URL进行故障排除。

http://blogs.technet.com/b/askds/archive/2007/11/06/how-to-troubleshoot-certificate-enrollment-in-the-mmc-certificate-snap-in.aspx


很抱歉暴露出我的无知,但是我怎么知道CADNSName?如果您指出了如何找到相关的“ cadnsname \ CA逻辑名称”,这将很有帮助。您能否进一步说明建议的步骤?谢谢。
标记

不幸的是,我未能按照您随附的文章中描述的步骤进行操作,因为它可能适用于有权访问Active Directory的Windows Server计算机。我的是Windows 7工作站,没有这种访问权限。
标记

我进一步编辑了问题。
标记

certutil -adca
匿名
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.