Измените пароль хранилища ключей без пароля на пустой пароль
У меня есть 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
Любая идея, как я могу изменить пароль хранилища ключей, если существующий пароль пуст?
Ответы
Ответ 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 когда-либо изменил пароль кэша ключей по умолчанию? Они должны были оставить его пустым.)