Os Serviços de Certificados do Active Directory não serão iniciados - erro 100

2

Migrei a CA corporativa de serviços de certificados do Active Directory para um novo servidor (e do Windows 2003 R2 x86 para o Windows 2008 R2 x64). Tenho tido problemas com a verificação das listas de revogação de certificados, mas publiquei novamente as listas de revogação da CA raiz e, quando executo o certutil -urlfetch -verify, não recebo mais nenhum erro:

Verified Issuance Policies: None
Verified Application Policies: All
Cert is a CA certificate
Leaf certificate revocation check passed
CertUtil: -verify command completed successfully.

Mas ainda recebo os mesmos erros quando tento iniciar a CA. Eu recebo o seguinte pop-up:

Microsoft Active Directory Certificate Services
---------------------------
The system cannot find the file specified. 0x2 (WIN32: 2)

The policy module for a CA is missing or incorrectly registered. To view or change
policy module settings, right-click on the CA, click Properties, and then click the
Policy Module tab.
---------------------------
OK   

e recebo o seguinte erro no log:

Log Name:      Application
Source:        Microsoft-Windows-CertificationAuthority
Date:          26/06/2012 15:59:45
Event ID:      100
Task Category: None
Level:         Error
Keywords:      Classic
User:          SYSTEM
Computer:      SRV112.cobbsch.cobbetts.co.uk
Description:
Active Directory Certificate Services did not start: Could not load or verify the current CA certificate.  Cobbetts LLP Enterprise CA The system cannot find the file specified. 0x80070002 (WIN32: 2).
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Microsoft-Windows-CertificationAuthority" Guid="{6A71D062-9AFE-4F35-AD08-52134F85DFB9}" EventSourceName="CertSvc" />
    <EventID Qualifiers="49754">100</EventID>
    <Version>0</Version>
    <Level>2</Level>
    <Task>0</Task>
    <Opcode>0</Opcode>
    <Keywords>0x80000000000000</Keywords>
    <TimeCreated SystemTime="2012-06-26T14:59:45.000000000Z" />
    <EventRecordID>852</EventRecordID>
    <Correlation />
    <Execution ProcessID="0" ThreadID="0" />
    <Channel>Application</Channel>
    <Computer>SRV112.cobbsch.cobbetts.co.uk</Computer>
    <Security UserID="S-1-5-18" />
  </System>
  <EventData Name="MSG_E_CA_CERT_INVALID">
    <Data Name="CACommonName">Cobbetts LLP Enterprise CA</Data>
    <Data Name="ErrorCode">The system cannot find the file specified. 0x80070002 (WIN32: 2)</Data>
  </EventData>
</Event>

A Microsoft tem documentação para esse erro: link

Mas a documentação apenas fala sobre a cadeia CA não verificar, o que é agora.

Eu queria saber se era algum tipo de falha armazenada em cache ou uma cópia em cache de uma CRL incorreta (eu migrei a CA raiz anteriormente e tive que republicar a CRL antes que a certutil fosse verificada corretamente), então tentei reinicializar para liberar os caches.

Isso não mudou nada.

Eu também tentei executar o Certutil como SYSTEM para ver se houve um problema de permissões e isso também não resolveu o problema.

[Para executar como sistema: execute psexec -i -s cmd.exe a partir de um prompt de comando elevado e ele iniciará um prompt de comandos como sistema. Você pode executar o whoami para verificar.]

    
por Richard Gadsden 26.06.2012 / 17:29

5 respostas

2

Resolvi esse problema com o suporte da Microsoft, mas realmente não entendi o que eles fizeram para resolvê-lo.

Pesquisei as notas de suporte da Microsoft, na esperança de que elas sejam úteis para alguém:

  1. Constatamos que a CRL na pasta certenroll estava ausente para validar o status de revogação da CA raiz.
  2. copiámos a CRL de Intermediate CA para a emissão de Sub-CA, mas continuámos com erros.
  3. De acordo com o Engenheiro da equipe de depuração, removemos e reinstalamos as funções do ADCS, mas isso não ajudou.
  4. Finalmente, encontramos no registro HKLM \ system \ CurrentControlSet \ Services \ Certsvc \ Configuration CertHash tinha valores mais antigos para certificados expirados.
  5. Removidos os valores mais antigos de hashes e substituídos por sinais (-) e iniciado o serviço de certificados.
  6. Serviço de certificado iniciado com êxito.
por 29.07.2012 / 09:34
2

Eu tive o mesmo erro. Eu estava usando um módulo de segurança de hardware do nCipher. O ADCS não conseguiu acessar sua chave privada. Parece que ao iniciar o serviço ADCS, ele faz algum teste entre os que verificam a chave privada. Então, configurei meu HSM de acordo. Agora funciona !!!

    
por 07.11.2012 / 14:47
2

Recentemente, fiz uma migração de 2003 para 2012 R2 e tive o mesmo problema exato descrito por você. A CA restauraria e começaria bem até que eu importasse o backup do registro da CA antiga.

Depois de uma chamada com a Microsoft e várias horas de solução de problemas, encontramos a solução. Eu não encontrei esta página durante o meu googling, mas aqui está:

Certificate Server Service não inicia e você recebe o erro: Os dados são inválidos. 0xd (Win32: 13) em uma autoridade de certificação com base no Windows 2003

Basicamente, há um certificado expirado ou um certificado sem a chave privada na chave de registro CAcerthash . No meu caso, foi um certificado expirado.

Para resolver o problema

  1. Abra o certificado em mmc e selecione o computador.

  2. Abra o armazenamento de certificados pessoais.

  3. Procure certificados que não exibam nenhum ícone de chave privada ou que tenham uma data de expiração passada.

  4. Abra o certificado e anote a impressão digital no detalhe dos detalhes. Você precisará corresponder isso às impressões digitais presentes no seu registro CAcerthash .

  5. Assim que você tiver suas impressões digitais, verifique o registro certhash da CA quanto à impressão digital do certificado ausente ou expirada e substitua os valores da impressão digital pelo sinal de menos -

  6. Salve a chave do registro e tente iniciar a autoridade de certificação.

Isso funcionou para mim, então espero que outra pessoa ache isso útil.

    
por 29.03.2017 / 22:36
0

Esse erro pode ocorrer se você alterar o SKU do SO. Por exemplo. passou de 2003 Enterprise para 2008 R2 Standard edition. Você não menciona o SKU juntamente com os detalhes do sistema operacional.

Supondo que não foi o caso, então para solucionar isso, você precisará coletar o seguinte

  1. um procmon ( link ) da inicialização do serviço junto com
  2. um dump de registro HKLM \ system \ currentcontrolset \ certsvc e
  3. um log de depuração do certsvc. "certutil -setreg ca \ debug 0xffffffe3" habilitará o log de depuração em% SystemRoot% \ Certsrv.log

habilite o log de depuração, inicie o procmon e tente iniciar o serviço. Pare o procmon quando a inicialização do serviço falhar.

Se você compartilhá-los em algum lugar, posso dar uma olhada.

    
por 21.07.2012 / 22:43
0

Eu me deparei com um problema semelhante com uma autoridade de certificação subordinada que foi atualizada do Windows 2008 R2 para o 2012 R2. Felizmente, eu acabei de criar uma nova CA raiz com o Server 2012 R2 com a qual eu poderia corresponder as configurações do Registro. Descobrimos que alguns valores na chave HKLM \ system \ CurrentControlSet \ Services \ CertSvc \ Configuração \\ CSP do computador atualizado não correspondiam ao computador 2012 R2. Especificamente, "CNGPublicKeyAlgorithm = RSA" estava ausente, "Provedor" necessário alterado para "Provedor de Armazenamento de Chaves de Software Microsoft" e "ProviderType" precisavam ser alterados de 1 para 0. Após fazer essas alterações, os Serviços de Certificados puderam ser iniciados sem erros. p>     

por 12.11.2015 / 19:23