Verificar que el certificado sea revocado por CRL

0

Configuré una CA y firmé alguna solicitud de certificado.

Los revoco por:

  

openssl ca -config config.cnf -revoke cert.pem

Actualizo CRL por:

  

openssl ca -config config.cnf -gencrl -out crl / crl.pem

index.txt muestra una 'R' para este certificado, también cuando reviso crl.pem el certificado aparece como revocado. Así que creo que funcionó bien.

Ahora el problema: no puedo verificar el certificado si se ha revocado. ¿Puede alguien darme el comando correcto? Si lo intento:

  

openssl cerify -CAfile cacert.pem cert.pem

No puedo encontrar la sintaxis correcta para incluir el archivo crl. ¿Leí algo sobre los hashes de los certificados? Pero no pude averiguar cómo hacerlo.

    
pregunta guest123 19.05.2014 - 22:35
fuente

1 respuesta

3

Debe especificar -crl_check (y deletrear verify correctamente) Y tener el certificado de CA y la CRL (aplicable) en su almacén de confianza. Hay dos formas de hacerlo:

  1. concatene cacert.pem y crl.pem en un archivo uno y úselo para -CAfile .
  2. coloque o vincule el archivo cacert PEM en un directorio con el nombre $hash.0 donde $ hash es el hash del sujeto cert (que para un certificado raíz también es el emisor) como salida por openssl x509 -noout -subject_hash -in $cert ; y ponga o vincule el archivo PEM de la CRL en el mismo directorio usando el nombre $hash.r0 donde $ hash es el hash del emisor de la CRL como resultado por openssl crl -noout -hash -in $crl (que aquí será el mismo que el certificado); y usa ese directorio para -CApath . (En un caso más general en el que tiene muchos certificados y / o CRL y hay colisiones de hash, aumenta el 0 a 1, etc.)

El Enfoque 2 es probablemente el que ha visto referenciado, pero tenga en cuenta que no es el certificado ni el CRL como tal el hash. Dependiendo de si está utilizando la distribución fuente de openssl o una compilación empaquetada, en Unix puede proporcionar un script c_rehash que configura enlaces simbólicos para el enfoque 2; en Windows AFAICT estás solo, y hacerlo a mano es más bien una molestia (pero es posible).

    
respondido por el dave_thompson_085 20.05.2014 - 00:25
fuente

Lea otras preguntas en las etiquetas