Хранилище сертификатов на моем ящике 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:\>
Пояснения:
–ping
и –pingadmin
параметры для certutilЭто серьезная проблема. Это лишает меня всех безопасных коммуникаций в моем приложении. Если кто знает, как это исправить - поделитесь пожалуйста.
Спасибо.
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, чтобы найти правильный контроллер домена?
Пожалуйста, проверьте следующее
Ты можешь бежать certutil -ping -config "cadnsname\CA logical name"
от пораженных хостов.
У кого есть разрешения на запрос сертификатов в ЦС (кто-то изменил прошедших проверку пользователей на пользователей домена)?
Посмотрите разрешения DCOM, чтобы убедиться, что прошедшие проверку пользователи имеют правильные разрешения в ЦС. Разрешения DCOM в ЦС для группы доступа DCOM службы сертификации:
Уровень разрешений доступа -> Локальный доступ - Разрешить, Удаленный доступ - Разрешить уровень разрешений на запуск и активацию -> Удаленный запуск - Разрешить, Удаленная активация - Разрешить
Для получения дополнительной информации вы можете обратиться к приведенному ниже URL-адресу для устранения неполадок.