2016-04-07 13 views
1

In Java 8 wurde die Option -importpassword zu keytool hinzugefügt. Es arbeitet mit JKECS storetype: $ keytool -importpassword -storetype JCEKS -alias alias Geben Sie das Kennwort gespeichert werden: Passwort erneut eingeben:Überprüfung der Möglichkeit, Passwörter mit Java zu speichern keytool

$keytool -list -storetype JCEKS -keypass "" -keystore mystore.jceks 

Keystore type: JCEKS 
Keystore provider: SunJCE 

Your keystore contains 1 entry 

alias, Apr 7, 2016, SecretKeyEntry, 

Der Versuch, sie zu extrahieren, erhalte ich die Fehlermeldung:

keytool error: java.lang.Exception: Alias <alias> has no certificate 

Meine Frage ist: Wie extrahiere ich das Passwort?

Antwort

2

Sieht so aus, als ob die keytool die Fähigkeit zum Extrahieren/Exportieren des mit dem Befehl -importpass importierten Kennworts fehlt. Aber Sie können das Passwort mit KeyStore api unter Verwendung des folgenden Codes anzeigen:

KeyStore ks = KeyStore.getInstance("JCEKS"); 
ks.load(new FileInputStream(new File("KEYSTORE_FILE")), "KEYSTORE_PASSWORD".toCharArray()); 

SecretKey passwordKey = (SecretKey) ks.getKey("ALIAS", "KEY_PASSWORD".toCharArray()); 

System.out.println(new String(passwordKey.getEncoded())); 
+0

Vielen Dank! Es klappt. –

+0

@ZivHarpaz - Wenn das Ihr Problem gelöst hat, können Sie die Antwort als akzeptiert markieren, damit andere die gleiche Lösung kennen. –

Verwandte Themen