ошибка jarsigner: java.lang.RuntimeException: загрузка хранилища ключей: хранилище ключей было изменено или пароль был неверным

Я пытаюсь подписать файл .wgt (виджет, который представляет собой файл jar), используя jarsigner Java 6. Но когда я пытаюсь подписать, он выдает следующую ошибку после запроса на ввод парольной фразы для хранилища ключей.

jarsigner error: java.lang.RuntimeException: keystore load: Keystore was tampered with, or password was incorrect

Я даже пробовал с недавно созданным хранилищем ключей, чтобы быть уверенным, что ввожу правильный пароль. Есть ли что-то еще, что могло пойти не так? Заранее спасибо!


person Pushpalanka    schedule 04.06.2012    source источник


Ответы (8)


Если вы цитируете пароль, попробуйте удалить кавычки. Я столкнулся с этой ошибкой при использовании 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

person Peter    schedule 24.08.2013

У меня была проблема, прямо противоположная @Peter. У меня были специальные символы в моем пароле, и мой скрипт подписи продолжал выдавать эту ошибку, пока я не заключил пароль в двойные кавычки "

Я думаю, это произошло потому, что я запускал пакетный файл для подписи своего приложения, а не вводил его непосредственно в командную строку, и Windows запуталась в специальных символах в пароле.

person ScouseChris    schedule 10.09.2014

Один раз проверьте псевдоним вашего хранилища ключей. Иногда имя псевдонима хранилища ключей отличается от имени псевдонима keytool, тогда оно дает ту же ошибку... Поэтому проверьте его псевдонимы один раз

person Bhaskar    schedule 25.04.2013

Моя проблема заключалась в том, что я вводил пароль в команду с помощью переключателей -storepass и -keypass (что в любом случае является плохой идеей), а в моей системе Jarsigner не имел ничего из этого. Как только я вытащил их и позволил Jarsigner запрашивать у меня пароли, все заработало, как и ожидалось.

person rob5408    schedule 19.07.2016

В моем случае проблема была с клавишей Caps Lock.

person user2983041    schedule 02.10.2019

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

person Marc Pérez Masdeu    schedule 28.01.2021

Просто измените имя файла. Вы только что дали только имя без расширения.

person vishal    schedule 08.06.2021
comment
Не могли бы вы привести пример, о каком имени файла вы говорите? В команде есть 2 файла: один для сертификата и один для целевого файла. - person Genry; 08.06.2021
comment
Это не дает ответа на вопрос. Получив достаточную репутацию, вы сможете /comment">прокомментировать любой пост; вместо этого дайте ответы которые не требуют разъяснений от спрашивающего. – Из обзора - person Wizhi; 08.06.2021

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

Наиболее вероятный ответ заключается в том, что вы перепутали пароль хранилища ключей с паролем для псевдонима/пароля ключей.

person Jivings    schedule 04.06.2012
comment
Я думаю, вы не исчерпали все возможные причины. Я получаю то же самое, и я перепроверил все. - person rwst; 02.10.2012
comment
У меня точно такая же проблема. Я могу сгенерировать новое хранилище ключей с простым паролем, все будет нормально принято, а затем все равно получить эту ошибку. - person Brian Knoblauch; 02.08.2013