Puis-je obtenir un certificat SHA-256 lorsque le CSR est pour SHA-1?

8

J'ai lu:

Par défaut, les outils cryptographiques OpenSSL sont configurés pour créer des signatures SHA1. par exemple, si vous souhaitez générer une demande de certificat (CSR) signée SHA256, ajoutez dans la ligne de commande: -sha256

J'ai dû mettre à niveau un certificat SHA1 existant vers SHA256. J'ai généré un nouveau CSR et l'ai envoyé à RapidSSL, avant de réaliser que je n'avais pas spécifié -sha256dans le CSR.

Je les ai contactés et ils disent "un remplacement pour un certificat Sha2 a été effectué et l'état actuel de la commande attend une approbation. Une fois la commande approuvée, le nouveau certificat sera émis avec l'algorithme SHA2."

Ma question est, est-il possible pour eux d'obtenir mon CSR SHA1 et de dire "ok, nous vous donnons un certificat SHA256 de toute façon parce que c'est tout ce que nous faisons maintenant"? Et ce certificat fonctionnera-t-il avec la clé privée que j'ai générée correspondant à cette CSR SHA1?

Comment ça marche? Quand je passe -sha256(ou quand je ne le fais pas) au moment de générer un CSR, qu'est-ce que cela affecte, à part le simple fait de faire une note dans le CSR disant "hé, cette personne veut le cryptage SHA256 sur son certificat"? Cela affecte-t-il la clé privée générée d'une manière quelconque?

joshua.paling
la source

Réponses:

5

C'est possible parce que la signature d'un CSR n'est utilisée que pour prouver que vous êtes bien le propriétaire de la clé privée qui correspond à la clé publique intégrée dans le CSR. Une fois que l'autorité de certification (RapidSSL dans votre cas) décide que la CSR est valide, sa signature perd tout son sens pour le processus de création du certificat et est effectivement rejetée.

Pour tous les détails sanglants sur ce qui est dans un certificat, voir rfc5280-4.1.2

Erik Dannenberg
la source
Cela signifie donc que ce n'est que le certificat lui-même qui est crypté avec SHA256. La clé privée (et son homologue publique intégrée dans la RSE) n'a rien à voir avec SHA256. Correct?
joshua.paling
1
@ joshua.paling SHA est un algorithme de hachage sécurisé, il n'est utilisé que pour signer des choses comme un CSR ou un certificat, la clé publique intégrée sera utilisée pour le cryptage plus tard, le certificat lui-même n'est pas crypté.
Erik Dannenberg