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
- 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.
- Confira primeiro a janela: uma lista passada do nextUpdate está desatualizada, e a maioria dos clientes a recusa em vez de confiar em tudo.
- 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.
- 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.
- 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
Descodificador de certificados SSL (X.509)
Cole um certificado PEM e leia-o: sujeito, emissor, validade, SAN, chave, impressões digitais e extensões, descodificado no navegador.
Decodificador de CSR (PKCS#10)
Leia uma requisição de assinatura de certificado antes de enviá-la: sujeito, SANs, tamanho da chave, algoritmo de assinatura e se a autoassinatura verifica.
Descodificador de OCSP (resposta e pedido)
Descodifica uma resposta ou pedido OCSP no navegador: estado, respondedor, validade, nonce, motivo de revogação e certificados incluídos.
Inspetor de keystore PKCS#12
Abra um .p12 ou .pfx no navegador: MAC e cifras antes da senha e, depois dela, a cadeia de certificados, a chave privada e se elas combinam.
Referência de Portas
Cheat sheet pesquisável de ~60 portas TCP / UDP padrão — de 22 (SSH) e 80 (HTTP) até 6379 (Redis) e 27017 (MongoDB).
Inspetor de .npy e .npz do NumPy
Leia o cabeçalho de um .npy ou .npz no navegador: dtype, shape, ordem de bytes, campos e uma prévia de valores, sem NumPy e sem upload.