Estoy buscando una lista maestra de CRL. Lo más parecido que he encontrado son los CRLSets del proyecto Chromium . Utilicé crlset-tools para obtener crlset ( crlset fetch > crl-set
) y luego volqué los números de serie ( crlset dump crl-set
), así que veo algo como esto:
f24196ae94078667348f02e8e37458a3a6e6aad1e0b0dc610118cce721427bfc
03fb3b4d35074e
03fbf94a0e6c39
04097214d6c97c
0442c6b3face55
....
Quiero poder pasar a openssl o curl (que usa openssl) un archivo CRL que contiene una lista maestra de todas las seriales malas. Por ejemplo, en lugar de simplemente pasar el crl de verisign, quiero que todo pase. Pensé que podía hacer esto con crlset, pero no creo que el formato sea compatible. Lo intenté openssl crl -inform DER -text -in crl-set
pero dice:
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
Si alguien tiene alguna idea sobre cómo hacer lo que estoy hablando o alguna forma creativa de hacerlo, hágamelo saber. Gracias
fuente
Respuestas:
Esto puede no ser posible, al menos en la forma que desee.
Tenga en cuenta que en los conjuntos de CRL de Chrome, hay (posiblemente) múltiples certificados revocados de varias CA. Un único archivo CRL que contiene un certificado de varias CA se conoce como "CRL indirecta". Las CRL indirectas son poco compatibles; mira aquí y aquí ; Es posible que OpenSSL no pueda hacer esto.
Además, como menciona @bentek, parece que el formato CRLsets no es compatible. Específicamente, el formato CRLsets no contiene todos los campos CRL necesarios; ver RFC 5280, Sección 5.1 . CRLsets contiene (según su documentación) el hash SHA-256 de la información de clave pública del sujeto para los certificados de emisión, y los números de serie de los certificados revocados de ese certificado de emisión. No hay suficiente información para reconstruir una CRL directa ( es decir, un archivo CRL por CA), lamentablemente, si quisiéramos. La mayor falta / omisión, en mi humilde opinión, es el nombre(DN) del emisor del certificado revocado. CRLsets nos da una "huella digital" (el hash SHA-256 SPKI), pero asignar esa huella digital al DN del certificado en cuestión, dado el alcance de Internet, no sería una tarea fácil.
fuente