web-dev-qa-db-fra.com

Générer une CSR à partir d'un certificat existant

Peut-on générer la CSR (demande de signature de certificat) utilisée pour la signature de certificat à partir du certificat signé? Il devrait fonctionner avec la clé privée d'origine lorsqu'il est signé à nouveau avec une autorité différente.

23
vaibhav magar

En utilisant OpenSSL, voici ce que vous feriez:

$ openssl req -out codesigning.csr -key private.key -new

Où private.key est la clé privée existante.

Comme vous pouvez le voir, vous ne générez pas cette CSR à partir de votre certificat (clé publique). De plus, vous ne générez pas le "même" CSR, juste un nouveau pour demander un nouveau certificat.

Selon votre commentaire, si vous n'avez pas accès à la clé privée existante, vous pouvez créer une nouvelle clé privée et un CSR:

$ openssl req -out codesigning.csr -new -newkey rsa:2048 -nodes -keyout private.key

Les résultats finaux restent les mêmes, vous obtenez un CSR et émettez un nouveau certificat.

15
Florian Bidabe

Oui, tant que vous disposez de la clé privée, vous pouvez réémettre une nouvelle CSR en copiant les champs (Nom du pays, nom de l'État ou de la province, nom de la localité, nom de l'organisation, nom de l'unité organisationnelle, nom commun, e-mail) Adresse) du certificat existant au CSR.

Modifié à partir de mon commentaire: Si vous ne possédez plus la clé privée, vous ne pouvez pas générer de CSR. La clé privée est requise pour vérifier l'identité du demandeur (vous) via la signature numérique; sinon, il serait trivial de générer des CSR - puis des certificats - avec de fausses informations d'identification et d'usurper toute entité existante.

6
dr_