Ich habe privaten Schlüssel in einer Datei im PKCS8 DER-Format gespeichert und durch ein Passwort geschützt. Was ist der einfachste Weg, um es zu lesen?Wie liest man einen Passwort-verschlüsselten Schlüssel mit Java?
Hier ist der Code, den ich eine unverschlüsselte zu laden verwenden, um:
InputStream in = new FileInputStream(privateKeyFilename);
byte[] privateKeydata = new byte[in.available()];
in.read(privateKeydata);
in.close();
KeyFactory privateKeyFactory = KeyFactory.getInstance("RSA");
PKCS8EncodedKeySpec encodedKeySpec = new PKCS8EncodedKeySpec(privateKeydata);
PrivateKey privateKey = privateKeyFactory.generatePrivate(encodedKeySpec);
Es funktioniert für unverschlüsselte Schlüssel mit der gleichen Spezifikation in Ordnung. Übrigens benutze ich BouncyCastle.
kann ich diesen privaten Schlüssel anzuzeigen folgenden openssl Befehl
openssl pkcs8 -in ./privatekey.key -inform DER -passin pass:thisismypass
Bitte Hilfe !!!
Ich habe einige Lösungen in meiner eigenen Antwort zu diesem Thema geschrieben. Aber ich behalte die Frage unbeantwortet für den Fall, dass irgendjemand helfen kann, es ohne extra Bibliothek zu machen, nur BouncyCastle.
+1 für noch nicht commons-ssl. Sie brauchen dann nicht einmal Bouncy Castle. – Thilo
Für die zweite Lösung. Kannst du den Code hier einfügen? Ich kann diesen Link nicht öffnen. Welche Bibliothek hast du benutzt? – BRabbit27
Das funktioniert eigentlich für mich. –