Kann ich ein SHA-256-Zertifikat erhalten, wenn der CSR für SHA-1 ist?

8

Ich habe gelesen:

Standardmäßig sind OpenSSL-Kryptografietools so konfiguriert, dass SHA1-Signaturen erstellt werden. Wenn Sie beispielsweise eine von SHA256 signierte Zertifikatsanforderung (CSR) generieren möchten, fügen Sie in der Befehlszeile Folgendes hinzu: -sha256

Ich musste ein vorhandenes SHA1-Zertifikat auf SHA256 aktualisieren. Ich habe eine neue CSR generiert und an RapidSSL gesendet, bevor mir klar wurde, dass ich sie nicht -sha256in der CSR angegeben habe.

Ich habe sie kontaktiert und sie sagen, dass "ein Ersatz für ein Sha2-Zertifikat vorgenommen wurde und der aktuelle Status der Bestellung auf eine Genehmigung wartet. Sobald die Bestellung genehmigt wurde, wird das neue Zertifikat mit dem SHA2-Algorithmus ausgestellt."

Meine Frage ist, ist es ihnen möglich, meine SHA1-CSR zu erhalten und zu sagen: "Okay, wir geben Ihnen trotzdem ein SHA256-Zertifikat zurück, weil das alles ist, was wir jetzt tun." Und funktioniert dieses Zertifikat mit dem privaten Schlüssel, den ich entsprechend dieser SHA1-CSR generiert habe?

Wie funktioniert es? Wenn ich gehe in -sha256(oder wenn ich nicht) zu der Zeit eine CSR zu erzeugen, was bedeutet , dass beeinflussen, andere als nur eine Notiz in der CSR zu machen sagen „hey, diese Person SHA256 - Verschlüsselung auf ihrem Zertifikat will“? Beeinflusst es den generierten privaten Schlüssel in irgendeiner Weise?

joshua.paling
quelle

Antworten:

5

Dies ist möglich, da die Signatur eines CSR nur verwendet wird, um zu beweisen, dass Sie tatsächlich der Eigentümer des privaten Schlüssels sind, der mit dem in den CSR eingebetteten öffentlichen Schlüssel übereinstimmt. Sobald die Zertifizierungsstelle (in Ihrem Fall RapidSSL) entscheidet, dass die CSR gültig ist, wird ihre Signatur für den weiteren Prozess der Erstellung des Zertifikats bedeutungslos und effektiv verworfen.

Ausführliche Informationen zu den Inhalten eines Zertifikats finden Sie unter rfc5280-4.1.2

Erik Dannenberg
quelle
Das bedeutet, dass nur das Zertifikat selbst mit SHA256 verschlüsselt ist. Der private Schlüssel (und sein in die CSR eingebettetes öffentliches Gegenstück) haben nichts mit SHA256 zu tun. Richtig?
joshua.paling
1
@ joshua.paling SHA ist ein sicherer Hashing-Algorithmus. Er wird nur zum Signieren von Dingen wie CSR oder Zertifikat verwendet. Der eingebettete öffentliche Schlüssel wird später für die Verschlüsselung verwendet. Das Zertifikat selbst wird nicht verschlüsselt.
Erik Dannenberg