Estou procurando uma lista mestre de CRL. A coisa mais próxima que encontrei foi o projeto ChromiumCRLSets. eu useiferramentas crlsetpara obter o crlset ( crlset fetch > crl-set
) e depois descartar os números de série ( crlset dump crl-set
), então vejo algo assim:
f24196ae94078667348f02e8e37458a3a6e6aad1e0b0dc610118cce721427bfc
03fb3b4d35074e
03fbf94a0e6c39
04097214d6c97c
0442c6b3face55
....
Quero poder passar para o openssl ou curl (que usa o openssl) um arquivo CRL contendo uma lista mestra de todos os seriais inválidos. Por exemplo, em vez de apenas passar o crl da verisign, quero que tudo seja passado. Pensei que poderia fazer isso com o crlset, mas não acho que o formato seja compatível. Eu tentei openssl crl -inform DER -text -in crl-set
, mas diz:
unable to load CRL
5532:error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag:tasn_dec.c:
1319:
5532:error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error:ta
sn_dec.c:381:Type=X509_CRL
Se alguém tiver alguma idéia de como fazer o que estou falando ou alguma maneira criativa de fazer isso, por favor me avise. Obrigado
Responder1
Isso pode não ser possível, pelo menos na forma que você deseja.
Considere que nos CRLsets do Chrome, existem (possivelmente) vários certificados revogados demúltiploCAs. Um único arquivo CRL que contém certificado demúltiploCAs são conhecidas como "CRL indireta". As CRLs indiretas são mal suportadas; veraquieaqui; O OpenSSL pode não conseguir fazer isso.
Além disso, como menciona @bentek, parece que o formato CRLsets não é compatível. Especificamente, o formato CRLsets não contém todos os campos CRL necessários; verRFC 5280, Seção 5.1. CRLsets contém (de acordo com sua documentação) o hash SHA-256 das informações da chave pública do assunto para os certificados emissores e os números de série dos certificados para certificados revogados desse certificado emissor. Não há informações suficientes para reconstruir umdiretoCRL (ou sejaum arquivo CRL por CA), infelizmente, se quiséssemos. A maior falta/omissão, IMHO, é anome(DN) do emissor do certificado revogado. CRLsets nos dá uma “impressão digital” (o hash SHA-256 SPKI), mas mapear essa impressão digital para o DN do certificado em questão, dado o escopo da Internet, não seria uma tarefa fácil.