¿Puedo revocar un certificado de cliente usando solo su número de serie (no es crt / pem)?

5

He firmado y emitido algunos certificados de cliente con mi CA. Ahora puedo revocarlos así:

openssl ca -name ${CA_NAME} -revoke ${USERS_DIR}/${USERNAME}.crt -keyfile $SSL_PRIVATE_DIR/ca.key -cert $SSL_CERTS_DIR/ca.crt

( desde aquí )

Sin embargo, esto requiere acceso a las * .pems en la carpeta new_certs_dir (por ejemplo, 01.pem, 02.pem). Puedo usarlos pero parece que la única información que necesito para revocar un certificado de cliente es su número de serie. Sin embargo, la página del manual para la bandera de revocación dice que tiene que ser el archivo crt / pem:

-revoke filename
       a filename containing a certificate to revoke.

También he notado que puedo editar manualmente el archivo de base de datos, cambiando el V (válido, probablemente) a un R (revocado, probablemente) y proporcionando una marca de tiempo para la segunda columna de marca de tiempo, como por ejemplo:

V       180408071318Z           01      unknown /C=AU/ST=NSW/O=Blah/OU=Blah/CN=CA
V       180408071319Z           02      unknown /C=AU/ST=NSW/O=Blah/OU=Blah/CN=CA

a

V       180408071318Z           01      unknown /C=AU/ST=NSW/O=Blah/OU=Blah/CN=CA
R       180408071319Z    180408081319Z       02      unknown /C=AU/ST=NSW/O=Blah/OU=Blah/CN=CA

Si luego genero el crl después de editar,

openssl ca -name ${CA_NAME} -gencrl -keyfile $SSL_PRIVATE_DIR/ca.key -cert $SSL_CERTS_DIR/ca.crt -out $SSL_PRIVATE_DIR/ca.crl -crldays 1095

el certificado correspondiente a esa serie ya no es válido. Así que parece que todo lo que necesitaba era la serie, a pesar de que openssl no ofrecía esa opción.

Entonces, mi pregunta es, ¿hay alguna forma kosher de revocar un certificado usando solo su número de serie? ¿O hay razones importantes por las que esto no se hace? ¿Tendré problemas si edito manualmente el archivo de la base de datos como arriba?

    
pregunta Dave 08.04.2016 - 09:26
fuente

1 respuesta

2

En X509, los campos que hacen que un certificado sea único es la combinación de emisor y número de serie. Solo el número de serie no se garantiza que sea único, ya que dos CA pueden usar la misma serie. Esta es la razón por la que ambos son necesarios para la revocación. En la práctica, si solo tienes una CA, la serie será suficiente, por supuesto. Pero no es genérico. No debería haber ningún problema en la edición manual de la base de datos, ya que esto será lo mismo que hará el comando

    
respondido por el primetomas 09.04.2016 - 14:09
fuente

Lea otras preguntas en las etiquetas