usar - openssl linux
Cómo revocar un certificado de openssl cuando no tienes el certificado (2)
Hice un certificado openssl firmado por la CA creada en la máquina local.
Este certificado fue eliminado y ya no lo tengo.
Es imposible crear otro certificado con el mismo nombre común, porque openssl no lo permite y generará el error:
failed to update database
TXT_DB error number 2
¿Cómo puedo revocar el certificado para crear otro con el mismo nombre común?
(Basado en la respuesta de Nilesh ) En la configuración predeterminada, openssl mantendrá copias de todos los certificados firmados en /etc/ssl/newcerts
, nombrados por su número de índice. Entonces grep /etc/ssl/index.txt
para obtener el número de serie de la clave que se va a revocar, por ejemplo, 1013, luego ejecute el siguiente comando:
openssl ca -revoke /etc/ssl/newcerts/1013.pem #replacing the serial number
El -keyfile
y -cert
mencionados en la respuesta de Nilesh solo son necesarios si se openssl.cnf
configuración de openssl.cnf
.
Alternativamente, también puede cambiar /etc/ssl/index.txt.attr
para que contenga la línea
unique_subject = no
para permitir múltiples certificados con el mismo nombre común. Sin embargo, si ha publicado el certificado original, revocar el anterior es la solución preferible, incluso si no ejecuta un servidor OSCP o no proporciona CRL.
No he probado esto pero parece que necesitas algo como esto.
openssl ca -revoke bad_crt_file -keyfile ca_key -cert ca_crt
openssl guarda automáticamente una copia de su certificado en el directorio de novatos. Es posible que desee verificarlo para recuperar su certificado. Desafortunadamente necesitas un certificado presente para revocarlo. Consulte lo siguiente para obtener detalles: http://www.mad-hacking.net/documentation/linux/security/ssl-tls/revoking-certificate.xml