J'ai fait un certificat openssl signé par l'autorité de certification créé sur la machine locale.
Ce certificat a été supprimé et je ne l'ai plus.
Il est impossible de créer un autre certificat avec le même commonName car openssl ne le permet pas et générera l'erreur:
failed to update database
TXT_DB error number 2
Comment puis-je révoquer le certificat pour en créer un autre avec le même commonName?
(Basé sur réponse de Nilesh ) Dans la configuration par défaut, openssl conservera des copies de tous les certificats signés dans /etc/ssl/newcerts
, nommé par son numéro d'index. Alors grep /etc/ssl/index.txt
pour obtenir le numéro de série de la clé à révoquer, par ex. 1013, puis exécutez la commande suivante:
openssl ca -revoke /etc/ssl/newcerts/1013.pem #replacing the serial number
Le -keyfile
et -cert
mentionné dans la réponse de Nilesh n'est requis que si cela diffère de votre openssl.cnf
paramètres.
Vous pouvez également modifier /etc/ssl/index.txt.attr
pour contenir la ligne
unique_subject = no
pour autoriser plusieurs certificats avec le même nom commun. Si vous avez publié le certificat d'origine, la révocation de l'ancien est cependant la solution préférable, même si vous n'exécutez pas de serveur OSCP ou ne fournissez pas de listes de révocation de certificats.
Je n'ai pas essayé cela, mais il semble que vous ayez besoin de quelque chose comme ça.
openssl ca -revoke bad_crt_file -keyfile ca_key -cert ca_crt
openssl enregistre automatiquement une copie de votre certificat dans le répertoire newcerts. Vous voudrez peut-être le vérifier pour récupérer votre certificat. Malheureusement, vous avez besoin d'un certificat pour le révoquer. Voir les détails suivants: http://www.mad-hacking.net/documentation/linux/security/ssl-tls/revoking-certificate.xml