certutil -ping falha com 30 segundos de tempo limite - o que fazer?

10

O armazenamento de certificados na minha caixa Win7 está constantemente pendurado. Observe:

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:\>

Explicações:

  • O primeiro comando mostra que há –ping e –pingadmin parâmetros para certutil
  • Tentando qualquer parâmetro de ping falhar com 30 segundos de tempo limite (a hora atual é vista no prompt)

Este é um problema sério. Ele parafusa toda a comunicação segura no meu aplicativo. Se alguém souber como isso pode ser corrigido - por favor, compartilhe.

Obrigado.

P.S.

1.cmd é simplesmente um lote desses comandos:

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

EDIT1

Consegui definir a única API do Windows que causa o problema - DsGetDcName

De acordo com o windbg, o certutil -ping invoca da seguinte forma:

PDOMAIN_CONTROLLER_INFO pdci;
DWORD ret = ::DsGetDcName(NULL, NULL, NULL, NULL, DS_DIRECTORY_SERVICE_PREFERRED, &pdci);

Na minha estação de trabalho, ele expira por 30 segundos e retorna o código de erro 1355, que é ERROR_NO_SUCH_DOMAIN Nenhum controlador de domínio está disponível para o domínio especificado ou o domínio não existe.

Em outra máquina, que é acidentalmente um servidor Windows 2003, ela retorna quase imediatamente com o nome correto do controlador de domínio dentro da estrutura DOMAIN_CONTROLLER_INFO retornada.

Agora, a questão é o que está faltando na minha estação de trabalho para que a API encontre o controlador de domínio correto?

    
por mark 30.12.2010 / 12:27

1 resposta

0

Por favor, verifique o seguinte

  1. Você pode executar certutil -ping -config "cadnsname\CA logical name" dos hosts afetados.
  2. Quem tem as permissões para solicitar certificados na CA (alguém alterou usuários autenticados para usuários do domínio)?
  3. Veja as permissões do DCOM para garantir que os usuários autenticados tenham as permissões corretas na autoridade de certificação. Permissões DCOM na CA para o grupo de acesso DCOM do serviço de certificado:

    Nível de permissões de acesso - > Acesso local - Permitir, acesso remoto - Permitir Nível de permissões de ativação e ativação - > Início Remoto - Permitir, Ativação Remota - Permitir

Para mais detalhes, consulte o URL abaixo para solução de problemas.

link

    
por 18.01.2011 / 07:47