Ich kann meinen eigenen privaten Schlüssel und mein eigenes Zertifikat wie folgt generieren:
openssl genrsa -out privatekey.pem 2048
openssl req -new -x509 -key privatekey.pem -out g4certificate.pem -days 1095
Durch Kopieren und Einfügen der Zertifikat-/privaten Schlüsselteile in eine Datenbank und Ausführen eines Test-Toolkits wird ein erfolgreicher HMAC-Schlüsselaustausch zurückgegeben.
Ich habe jetzt jedoch ein GlobalSign-SSL-Zertifikat erworben und verfüge über die PFX-Datei.
Wie kann ich den entsprechenden privaten RSA-Schlüssel/das entsprechende RSA-Zertifikat extrahieren, der/das denen ähnelt, die verwendet wurden, als das Toolkit einen erfolgreichen Schlüsselaustausch zurückgegeben hat?
Mein Versuch:
Ich habe versucht, die PFX-Datei mit dem folgenden Befehl in eine PEM-Datei zu konvertieren:
openssl pkcs12 -nodes -in filename.pfx -out filename.pem
Die resultierende .pem-Datei enthält 3 Zertifikate und einen privaten Schlüssel mit einem Header von „-----BEGIN PRIVATE KEY-----“ und nicht „-----BEGIN RSA PRIVATE KEY-----“.
Ich habe versucht, den privaten Schlüssel in ein neues Dokument zu kopieren und einzufügen und ihn als privatekey.key zu speichern. Anschließend habe ich ihn mit dem folgenden Befehl konvertiert:
openssl rsa -in privatekey.key -out privatekey_new.key
Dadurch wird eine Datei mit dem Header „-----BEGIN RSA PRIVATE KEY-----“ erstellt, die dem selbst generierten RSA-Schlüssel entspricht.
Beim Versuch des Schlüsselaustauschs erhalte ich jedoch die folgende Fehlermeldung:
DEBUG [AbstractTest] - Failed:
java.security.InvalidKeyException: Wrong key usage
at javax.crypto.Cipher.init(Cipher.java:1674)
at javax.crypto.Cipher.init(Cipher.java:1580)
Antwort1
Falsche Tastenbelegung
Das bedeutet, dass das Zertifikat für den von Ihnen gewünschten Zweck nicht verwendet werden kann.