X509 CRL certificados suspendidos y comandos de openssl ca

5

En el formato CRL X509 tenemos el "Código de instrucción de retención" para obtener una lista de certificados suspendidos. Sé que "su uso está muy en desuso para la PKI de Internet", pero en mi propia CA privada, quiero usarlo.

Openssl tiene un comando ca donde puedo hacer todas las cosas "ca" directamente en mi cli de linux. Tiene una opción -crl_hold instruction para poner "en espera" un certificado, pero ¿cómo puedo eliminar el estado "en espera" de este certificado? No he encontrado ninguna forma de gestionar la suspensión temporal de estos certificados.

Cualquier ayuda será muy útil.

    
pregunta Fausto Carvalho Marques Silva 25.04.2016 - 15:26
fuente

3 respuestas

4

De la OpenVPN 2 Cookbook :

  

El comando OpenSSL ca genera su CRL mirando el   archivo index.txt Cada línea que comienza con una 'R' se agrega a la   CRL, después de lo cual la CRL se firma criptográficamente con la CA   clave privada.

Para restablecer su certificado revocado, puede editar su base de datos de CA :

database       = $dir/index.txt        # index file.

1. Actualice la entrada relevante en $dir/index.txt , reemplazando R=revoked con V=valid .
2. Vuelva a crear el archivo crl: openssl ca -gencrl ***
3. Lo que queda es la automatización del proceso ( ¿Un script? )

    
respondido por el Seb B. 03.05.2016 - 13:09
fuente
1

La lectura de la recomendación X.509 nos dice que un certificado puede ser "no retenido" por 2 medios:

  • o bien revocarlo realmente, cambiando el código de razón mientras se mantiene la fecha
  • o elimínelo por completo de la CRL. Si planea emitir deltaCRLs, DEBE usar el comando "removeFromCRL" código de razón para dichos certificados, solo para los deltaCRLs.
respondido por el Mxsky 03.05.2016 - 12:00
fuente
1

No hay ningún método para "cancelar la suspensión" de un certificado en openssl en la CLI que conozco. Y la siguiente cita puede darle un poco más de orientación:

Martin Abalea, lista de correo de OpenSSL, 2008-10-13, Re: Poner el certificado en espera :

  

Leyendo la recomendación X.509 (descargable de forma gratuita desde el UIT-T   sitio web) nos dice que un certificado puede ser "no retenido" por 2 medios:
   - o bien revocarlo, cambiando el código de razón manteniendo la fecha
   - o elimínelo por completo de la CRL, como ha adivinado.

Nuevamente, no conozco ningún comando CLI para OpenSSL, por lo que sus opciones pueden ser:

  1. emitir un nuevo certificado o
  2. restaure una copia de la base de datos de CA antes de la revocación y emita una nueva CRL.

    Si tiene otros certificados revocados, debe asegurarse de anotarlos si restaura su base de datos. De lo contrario, indicó que esta es su CA privada, no veo por qué generar un nuevo CERT es un problema.

    Todavía hay un método de "posibilidad remota" que puede usar Microsoft (no sé cómo hacer algo similar en OpenSSL).

  3. Si puede importar su certificado a MS CA, MS tiene un "clic derecho" sencillo para anular. Consulte la siguiente documentación sobre cómo hacerlo. Aquí está el CLI de esa página:

      

    Para anular un certificado revocado con el código de razón "Certificado   Sostener ", en el símbolo del sistema de la CA, escriba:

    certutil -revoke CertificateSerialNumber unrevoke
    
respondido por el munkeyoto 28.04.2016 - 15:47
fuente

Lea otras preguntas en las etiquetas