Estou procurando uma lista CRL principal. A coisa mais próxima que encontrei é o CRLSets do projeto Chromium . Eu usei o crlset-tools para obter o crlset ( crlset fetch > crl-set
) e depois despejei os números de série ( crlset dump crl-set
), então vejo algo assim:
f24196ae94078667348f02e8e37458a3a6e6aad1e0b0dc610118cce721427bfc
03fb3b4d35074e
03fbf94a0e6c39
04097214d6c97c
0442c6b3face55
....
Eu quero poder passar para openssl ou curl (que usa openssl) um arquivo CRL contendo uma lista principal 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, entre em contato. obrigado
fonte
Respostas:
Isso pode não ser possível, pelo menos da forma que você deseja.
Considere que, nos CRLsets do Chrome, existem (possivelmente) vários certificados revogados de várias CAs. Um único arquivo CRL que contém certificado de várias CAs é conhecido como "CRL indireta". CRLs indiretas são pouco suportadas; veja aqui e aqui ; O OpenSSL pode não ser capaz de fazer isso.
Além disso, como o @bentek menciona, parece que o formato CRLsets não é compatível. Especificamente, o formato CRLsets não contém todos os campos necessários da CRL; veja RFC 5280, Seção 5.1 . Os CRLsets contêm (de acordo com a documentação) o hash SHA-256 das informações da chave pública do sujeito para os certificados emitentes e os números de série do certificado para certificados revogados desse certificado de emissão. Não há informações suficientes para reconstruir uma CRL direta ( ou seja, um arquivo CRL por CA), infelizmente, se quiséssemos. A maior falta / omissão, IMHO, é o nome(DN) do emissor do certificado revogado. Os CRLsets nos fornecem 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.
fonte