2016-04-07 2 views
1

В Java 8 опция -importpassword была добавлена ​​в keytool. Он работает с JKECS storetype: $ Keytool -importpassword -storetype JCEKS -alias псевдоним Введите пароль для хранения: Повторно введите пароль:Проверка возможности хранения паролей с помощью Java 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, 

Попытка извлечь его, я получаю ошибку:

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

Мой вопрос: Как я могу извлечь пароль?

ответ

2

Похоже, что keytool не имеет возможности извлекать/экспортировать пароль, импортированный с помощью команды -importpass. Но вы можете просмотреть пароль, используя KeyStore api, используя приведенный ниже код:

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

Спасибо! оно работает. –

+0

@ ZivHarpaz - Если это решит вашу проблему, вы можете пометить ответ как принятый, поэтому другие, столкнувшиеся с одной проблемой, будут знать решение. –

Смежные вопросы