Certificado revogado ainda válido

2

Recentemente, configurei um novo domínio associado à CA autônoma em um servidor Windows 2012 R2 acessível publicamente e autenticado, mas os certificados revogados ainda parecem estar sendo autenticados. O processo de revogação real do lado do servidor funciona bem, pois o certificado revogado é adicionado à CRL após a publicação, mas o certificado ainda autentica a extremidade do cliente.

Eu adicionei locais de CDP e AIA acessíveis externamente e limpei o cache de CRL local do cliente usando os seguintes comandos:

certutil -urlcache CRL delete

e

certutil -setreg chain\ChainCacheResyncFiletime @now

Estou ciente dos requisitos mínimos do sistema operacional para o último comando. Os clientes são o Windows 7 para cima.

Estou usando um aplicativo de teste simples no cliente que está configurado para usar o único certificado. Assim, se revogado, ele simplesmente pararia de funcionar, mas não é o caso dessa instância. Se eu remover o certificado dos armazenamentos de certificados locais, ele deixará de funcionar de forma confiante de que depende desse único certificado.

Todas as pesquisas na Web até agora levaram aos comandos acima e garantem que o CDP seja resolvido externamente, mas já cobri esses problemas.

Eu aprecio e aconselho

    
por jshizzle 22.04.2017 / 16:43

2 respostas

2

Pensei que valeria a pena relatar minhas descobertas.

Acontece que o Windows estava revogando os certificados, mas havia algum cache local da CRL ocorrendo como é planejado por design. Parece que, mesmo quando o certificado está sendo revogado, uma cópia em cache ainda é usada, até que um período específico tenha passado. No entanto, pelo que entendi, os dois comandos que eu executei no meu post inicial deveriam ter expirado e solicitado um up-to -data um do servidor, mas não parece ser o caso.

Eu introduzi as CRLs delta que fizeram com que a solução de problemas fosse mais rápida e tudo parece bem agora, então, em última análise, é um alarme falso.

Obrigado pelo seu conselho Greg

    
por 04.05.2017 / 13:10
1

I'm using a simple test app on the client that is configured to use the one certificate so if revoked would simply stop working .

Você precisa verificar se o cliente está verificando a CRL com uma captura de pacote para sua CRL em tcp / 80. Isso levaria cinco minutos.

Se você quiser validar que a verificação de CRL Windows esteja funcionando, você pode usar o seguinte comando no cliente:

certutil -f –urlfetch -verify ExportedCertificate.cer

Você também precisa ativar o log de eventos CAPI2, qualquer falha na verificação da CRL será registrada lá.

Mas o modo como um aplicativo usa e valida um certificado não é necessariamente o mesmo que o Windows usaria e validaria um certificado.

    
por 22.04.2017 / 18:13