Ir para o conteúdo
AZ Tools

Decodificador de CRL (X.509)

Decodifica uma lista de revogação X.509 — em DER ou PEM — e mostra o que um cliente veria nela. O resumo traz a versão, o algoritmo de assinatura, o número da CRL, a janela entre thisUpdate e nextUpdate e se a lista ainda está vigente, além de indicar se é uma lista completa ou uma delta que só carrega as mudanças desde uma CRL base. Abaixo vêm o nome do emissor, o identificador de chave da autoridade que amarra a lista a uma chave específica da CA, e o ponto de distribuição emissor, que diz por quais certificados esta lista pode falar. Cada revogação aparece com o número de série, a data em que foi revogada, o motivo se a CA registrou um, e a data de invalidade, que é o campo diferente e mais interessante: revocationDate é quando a CA agiu, invalidityDate é quando se acredita que a chave foi comprometida, e o intervalo entre as duas é a janela em que não se deve confiar nas assinaturas. Cole o certificado da CA emissora e a assinatura da lista é verificada contra a chave pública dele com WebCrypto — RSA e ECDSA são suportados — para distinguir uma lista genuína de uma editada ou servida pela autoridade errada; oferecer um certificado cuja chave não poderia tê-la assinado é relatado como divergência, e não como verificação inconclusiva. Duas ressalvas. Uma série aparecer aqui só significa algo se esta for a lista certa para aquele certificado, e é isso que o emissor e o ponto de distribuição dizem. E uma CRL muito grande — algumas têm centenas de milhares de entradas — é contada por inteiro, mas só as primeiras quinhentas linhas são desenhadas, porque pintar o resto congelaria a aba sem lhe dizer mais nada.

Como usar

  1. Solte o arquivo .crl sobre a caixa, ou cole uma lista PEM. Um .crl é DER puro e não abre em um editor de texto.
  2. Confira primeiro a janela: uma lista passada do nextUpdate está desatualizada, e a maioria dos clientes a recusa em vez de confiar em tudo.
  3. Leia o número da CRL e o alcance. Uma CRL delta só lista o que mudou desde a base que ela nomeia, então sozinha não é o quadro completo.
  4. Procure seu número de série na tabela e leia o motivo ao lado: certificateHold é uma suspensão que pode ser levantada, os demais são permanentes.
  5. Cole o certificado da CA emissora para verificar a assinatura quando a lista vier de algum lugar que você não controla por completo.

Perguntas frequentes

Qual a diferença entre a data de revogação e a de invalidade?
A data de revogação é quando a CA publicou o fato; a de invalidade, uma extensão opcional da entrada, é quando se acredita que o certificado realmente deixou de ser confiável — em geral quando uma chave foi comprometida. Elas podem estar bem distantes, porque um comprometimento costuma ser descoberto dias depois de acontecer. Isso importa ao julgar uma assinatura antiga: uma feita antes da data de invalidade ainda pode ser aceita, enquanto uma posterior não, mesmo que ambas antecedam a revogação em si.
A lista diz certificateHold. O certificado está revogado ou não?
Está suspenso, não revogado. certificateHold é o único motivo que pode ser desfeito: uma CRL posterior pode trazer a mesma série com o motivo removeFromCRL, o que levanta a suspensão e devolve o certificado ao serviço. Por isso um cliente não pode guardar uma suspensão como permanente, como faz com keyCompromise. Na prática quase nenhuma CA pública usa isso, então vê-lo costuma indicar uma PKI privada ou corporativa.
O que é uma CRL delta, e posso usá-la sozinha?
Não: uma delta lista apenas as mudanças desde uma CRL base específica, nomeada em sua extensão Delta CRL Indicator, e serve para ser aplicada sobre essa base. Ela existe porque a lista completa de uma CA grande pode ser enorme, e rebaixá-la de hora em hora é desperdício quando só alguns certificados mudam. Se esta ferramenta mostra uma delta, as entradas que você vê são as mudanças recentes e não o conjunto completo de séries revogadas.
Uma série ausente significa que o certificado está bom?
Só se esta for a lista certa, ela estiver vigente e o certificado tiver sido emitido por esta CA. Uma CRL fala de um alcance definido: o nome do emissor e, quando presente, o ponto de distribuição emissor limitam quais certificados ela cobre. Uma série ausente da lista de uma CA sem relação não diz nada. Ela também precisa estar fresca: uma lista vencida pode simplesmente ser anterior à revogação que você procura, e é exatamente por isso que os clientes recusam as desatualizadas em vez de lê-las assim mesmo.
Como a assinatura é conferida, e o que significa uma falha?
A parte assinada da lista é verificada contra a chave pública do certificado que você cola, usando o WebCrypto do navegador com o algoritmo que a lista declara — RSA PKCS#1 v1.5 ou ECDSA. Passar significa que aquela chave de CA realmente assinou estes bytes e nada foi alterado. Uma falha significa que ou a lista foi modificada, ou o certificado fornecido não é o emissor; se a chave dele é de um tipo que não poderia ter produzido esta assinatura, isso é relatado como divergência, não como algoritmo sem suporte.
O arquivo é enviado para algum lugar?
Não. Tanto a lista quanto qualquer certificado colado são lidos e analisados na própria página, e a conferência de assinatura roda no WebCrypto do navegador. Nada vai para um servidor e não existe componente de servidor para onde mandar. Uma lista de revogação é informação pública, mas a de uma PKI privada pode não ser, e é por isso que tudo isso roda no cliente.

Ferramentas relacionadas