Назад | Перейти на главную страницу

certutil -ping завершается ошибкой с 30-секундным таймаутом - что делать?

Хранилище сертификатов на моем ящике Win7 постоянно виснет. Обратите внимание:


C:\>1.cmd

C:\>certutil -?   | findstr /i ping
  -ping             -- Ping Active Directory Certificate Services Request interface
  -pingadmin        -- Ping Active Directory Certificate Services Admin interface

C:\>set PROMPT=$P($t)$G

C:\(13:04:28.57)>certutil -ping
CertUtil: -ping command FAILED: 0x80070002 (WIN32: 2)
CertUtil: The system cannot find the file specified.

C:\(13:04:58.68)>certutil -pingadmin

CertUtil: -pingadmin command FAILED: 0x80070002 (WIN32: 2)
CertUtil: The system cannot find the file specified.

C:\(13:05:28.79)>set PROMPT=$P$G

C:\>

Пояснения:

Это серьезная проблема. Это лишает меня всех безопасных коммуникаций в моем приложении. Если кто знает, как это исправить - поделитесь пожалуйста.

Спасибо.

P.S.

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, чтобы найти правильный контроллер домена?

Пожалуйста, проверьте следующее

  1. Ты можешь бежать certutil -ping -config "cadnsname\CA logical name" от пораженных хостов.

  2. У кого есть разрешения на запрос сертификатов в ЦС (кто-то изменил прошедших проверку пользователей на пользователей домена)?

  3. Посмотрите разрешения DCOM, чтобы убедиться, что прошедшие проверку пользователи имеют правильные разрешения в ЦС. Разрешения DCOM в ЦС для группы доступа DCOM службы сертификации:

    Уровень разрешений доступа -> Локальный доступ - Разрешить, Удаленный доступ - Разрешить уровень разрешений на запуск и активацию -> Удаленный запуск - Разрешить, Удаленная активация - Разрешить

Для получения дополнительной информации вы можете обратиться к приведенному ниже URL-адресу для устранения неполадок.

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