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 ?
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.
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