Comment révoquer un certificat openssl lorsque vous n'avez pas le certificat

j'ai fait un certificat openssl signé par L'AC 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 l'autorise pas et générera l'erreur:

failed to update database
TXT_DB error number 2

Comment puis-je révoquer le certificat de créer un autre avec le même commonName ?

43
demandé sur leszek.hanusz 2012-02-29 13:40:54

2 réponses

(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. Donc grep /etc/ssl/index.txt pour obtenir le numéro de série de la clé à révoquer, par exemple 1013, exécutez la commande suivante:

openssl ca -revoke /etc/ssl/newcerts/1013.pem #replacing the serial number

-keyfile et -cert mentionné dans la réponse de Nilesh ne sont nécessaires que si cela dévie de votre openssl.cnf paramètres.


alternativement vous pouvez également modifier /etc/ssl/index.txt.attr pour contenir la ligne

unique_subject = no

pour permettre plusieurs certificats avec le même nom commun. Si vous avez publié le certificat original, la révocation de l'ancien est cependant la meilleure solution, même si vous n'utilisez pas de serveur OSCP ou si vous ne fournissez pas de CRLs.

60
répondu Tobias Kienzler 2017-05-23 12:25:55

Je n'ai pas essayé mais on dirait que vous avez 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 cert dans le répertoire newcerts. Vous pouvez le vérifier afin de récupérer votre certificat. Malheureusement, vous avez besoin d'un certificat de présenter le révoquer. Voir la suite pour plus de détails: http://www.mad-hacking.net/documentation/linux/security/ssl-tls/revoking-certificate.xml

7
répondu Nilesh 2012-10-01 19:01:57