Estoy buscando una lista CRL maestra. Lo más parecido que he encontrado es el proyecto Chromium.CRLSets. solíaherramientas-crlsetpara obtener el crlset ( crlset fetch > crl-set
) y luego descarté 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 todos los seriales defectuosos. Por ejemplo, en lugar de simplemente pasar el crl de Verisign, quiero que se pase todo. Pensé que podrí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
Respuesta1
Puede que esto no sea posible, al menos en la forma que le gustaría.
Considere que en los CRLsets de Chrome, hay (posiblemente) múltiples certificados revocados demúltipleCA. Un único archivo CRL que contiene el certificado demúltipleLas CA se conocen como "CRL indirectas". Las CRL indirectas no cuentan con un soporte adecuado; veraquíyaquí; 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; verRFC 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 emisores y los números de serie de los certificados revocados de ese certificado emisor. No hay suficiente información para reconstruir unadirectoCRL (es decirun archivo CRL por CA), lamentablemente, si quisiéramos. La mayor falta/omisión, en mi humilde opinión, es lanombre(DN) del emisor del certificado revocado. CRLsets nos proporciona 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.