Подтвердить что ты не робот

Измените пароль хранилища ключей без пароля на пустой пароль

У меня есть jes keystore без пароля. Когда я запускаю команду

keytool -list -keystore mykeystore.jks

И он подсказывает мне пароль хранилища ключей, я просто нажимаю 'enter'.

Обратите внимание, что пароль хранилища ключей НЕ является паролем java по умолчанию для "changeit". Он пуст

Когда я пытаюсь запустить

keytool -storepasswd -keystore mykeystore.jks

чтобы изменить пароль на непустую строку. Сначала он запрашивает текущий пароль. Просто нажмите enter, так как он пуст.

keytool -storepasswd -keystore mykeystore.jks
Enter keystore password:
Keystore password is too short - must be at least 6 characters 

Просто чтобы подтвердить всем, что пароль не "changeit"

keytool -storepasswd -keystore mykeystore.jks
Enter keystore password:  changeit
keytool error: java.io.IOException: Keystore was tampered with, or password was incorrect

Любая идея, как я могу изменить пароль хранилища ключей, если существующий пароль пуст?

4b9b3361

Ответ 1

Добавить -storepass для аргументов keytool.

keytool -storepasswd -storepass '' -keystore mykeystore.jks

Но также обратите внимание, что команда -list не всегда требует пароля. Я могу выполнить следующую команду в обоих случаях: без пароля или с допустимым паролем

$JAVA_HOME/bin/keytool -list -keystore $JAVA_HOME/jre/lib/security/cacerts

Ответ 2

Если вы пытаетесь сделать материал с помощью кэширования системы Java по умолчанию (cacerts), тогда пароль по умолчанию changeit.

Вы можете перечислить ключи, не требуя пароля (даже если он вам подскажет), поэтому не принимайте это как указание, что оно пустое.

(Кстати, кто в истории Java когда-либо изменил пароль кэша ключей по умолчанию? Они должны были оставить его пустым.)