Проблема подписи Keytool: был поврежден Keystore, или пароль был неправильным

Я пытаюсь подписать версию моего приложения для Android (отладка была подписана отлично) для API Карт Google:

keytool -list -alias cancertrials -keystore /Users/syalam/Documents/workspace/Cancer_Trials/keys/release -storepass android -keypass cancertrials

Но я получаю ошибку:

java.io.IOException: Keystore was tampered with, or password was incorrect

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

Не уверен, почему я не могу подписать это? Мне нужно отображать Карты Google в режиме деблокирования (работает в режиме отладки).

Ответы

Ответ 1

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

keytool -list -keystore /Users/salam/Documents/yada/yada

Затем при появлении запроса предоставьте пароль к хранилищу ключей. Если это работает, вы можете попробовать просто keypass в командной строке.

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

Ответ 2

Как-то на окнах, keytool не принял пароль. Мне нужен только пароль SHA1 для настройки идентификатора клиента в проекте на консоли google dev. Казалось, что для меня работало

keytool --list --keystore android.jks --protected

Это напечатало ключи SHA1 для всех псевдонимов.

Ответ 3

У меня такая же проблема с jarsigner на jdk1.6.0.31, когда я переключился на 1.6.0_29 jarsigner работает правильно. Помните о версии jdk.

Ответ 4

Проверьте имя псевдонима один раз. Несколько раз ваш псевдоним отличается от имени псевдонима keytool, тогда он дает ту же ошибку. то есть.

Ответ 5

keytool -list -keystore "Path of the keystore"

Эта команда запрашивает пароль в машинах linux, тогда как на машине Windows вам просто нужно ввести хранилище ключей.