Ошибка jarsigner: java.lang.RuntimeException: загрузка кэша: Keystore был изменен или пароль был неверен
Я пытаюсь подписать файл .wgt(виджет, который является файлом jar), используя jarsigner Java 6. Но когда я пытаюсь подписать, он дает мне следующую ошибку после запроса ввести парольную фразу для хранилища ключей.
jarsigner error: java.lang.RuntimeException: keystore load: Keystore was tampered with, or password was incorrect
Я даже попробовал с недавно созданным хранилищем ключей, поэтому я уверен, что вводя правильный пароль. Есть ли что-нибудь еще, что могло бы пойти не так?
Спасибо заранее!
Ответы
Ответ 1
Если вы указываете пароль, попробуйте удалить кавычки. Я столкнулся с этой ошибкой при использовании jarsigner в 1.7.0_25-b17
JDK в Windows 7. Обычно я использую более ранние версии jarsigner в Solaris и Linux и всегда указывал пароль с использованием одинарных кавычек, потому что он часто содержит символы, которые интерпретируются оболочкой.
Я не проверял, но я предполагаю, что интерпретатор оболочки на * nix обрезает кавычки перед передачей параметров jarsigner, но в командной строке Windows этого нет.
Например, вместо
jarsigner -keystore /my/cert/file -storepass 'password' /my/jar/file my_alias
попробовать
jarsigner -keystore /my/cert/file -storepass password /my/jar/file my_alias
Ответ 2
Проверьте одно имя псевдонима хранилища ключей. Некоторое время имя псевдонима keystore отличается от имени псевдонима keytool, тогда оно дает ту же ошибку... Поэтому проверьте его псевдоним один раз
Ответ 3
У меня была совершенно противоположная проблема с @Peter. У меня были специальные символы в моем пароле, и мое подписание script продолжало давать эту ошибку, пока я не завернул пароль в двойные кавычки "
Я думаю, это связано с тем, что я запускал пакетный файл, чтобы подписать мое приложение, а не вводить его непосредственно в командной строке, а окна путались о специальных символах пароля.
Ответ 4
Моя проблема заключалась в том, что я вводил пароль в команду с помощью переключателей -storepass
и -keypass
(что плохой идеей), и в моей системе Jarsigner не было ни одного. Как только я вытащил их и позволил Jarsigner запросить у меня пароль, он работал, как ожидалось.
Ответ 5
В моём случае была проблема с ключом Caps Lock.
Ответ 6
Сообщение об ошибке, которое вы получаете, описывает проблему. Либо вы набрали свой пароль неправильно, либо хранилище ключей стало поврежденным.
Наиболее вероятным ответом является то, что вы путали пароль хранилища ключей с паролем для псевдонима/ключа.