Использовать пустой пароль хранилища ключей, который был возможен?
Когда вы подписали apk после долгого перерыва с Android-разработкой, я был удивлен, что я больше не могу ввести пустой пароль хранилища ключей, чтобы разблокировать его. Это только я или это было возможно раньше? Если да, когда это изменилось и как я могу все-таки разблокировать хранилище ключей?
Некоторые предпосылки: может быть, я просто сумасшедший и раньше не использовал пустой пароль для хранилища ключей, но единственный и единственный возможный пароль, который я мог бы использовать, тоже не работает (клянусь, нет я бы использовал другой пароль!).
Ответы
Ответ 1
Кэйстор можно манипулировать с помощью keytool
в Java sdk.
Попробуйте выполнить keytool в хранилище ключей и извлеките сертификаты с пустым паролем. После этого импортируйте его в новое хранилище ключей. На этот раз используйте реальный пароль.
Коммутатор -exportcert
поможет вам выполнить это.
Возможно, вы обновили свой java-sdk, и поэтому вы не можете ввести пустой пароль (из-за некоторого повышения безопасности инструмента). В этом случае вы можете попробовать установить старый sdk и сделать это.
Удачи!
Ответ 2
Попробуйте пароль для хранилища ключей отладки по умолчанию для Android версии android
или java cacerts по умолчанию changeit
/changeme
.
Ответ 3
Вместо того, чтобы использовать программу keytool, напишите простую программу Java SE, которая использует шины для использования ваших псевдонимов или списков. API должен (а не 100%) использовать пустой (""
) пароль. Вы также можете попробовать сторонние инструменты, такие как portecle, чтобы отображать/извлекать ключи.
Ответ 4
Вы не можете использовать пустой пароль для хранилища ключей.
Я проверил, насколько jdk 1.3 keytool не разрешает его, см. http://docs.oracle.com/javase/1.3/docs/tooldocs/win32/keytool.html, где doc явно заявляет, что:
Хранить должен не менее 6 символов. Он должен быть предоставлен всем командам, которые получают доступ к содержимому хранилища ключей. Для таких команд, если опция -storepass не указана в командной строке, пользователю будет предложено указать ее.
Для удовольствия я хотел попробовать keytool из jdk 1.2 и загрузить его, поскольку в его документации не указано, что пароль является обязательным, но мне нужно установить Windows NT для его установки!
Я абсолютно не думаю, что Android когда-либо использовал эту версию keytool.
Извините, но похоже, что у вас есть либо: забыли свой пароль, либо набрали его с помощью блокировок колб/неправильной раскладки клавиатуры.: (
EDIT:
Если это не проблема с макетом, вы можете попробовать
Ответ 5
Если все вышеперечисленное не удается, вы можете попробовать его взломать. Связанный вопрос: Android - Забыл пароль хранилища ключей. Могу ли я дешифровать файл хранилища ключей?
Ответ 6
Я столкнулся с этой проблемой, и это было очень странно. У меня было хранилище ключей, которое не было защищено никаким паролем. Я мог бы использовать его успешно в SoapUI, но keytool
и keystore explorer не смог его открыть. Мне пришлось создать новое хранилище ключей, у которого уже был пароль, и с тех пор все было в порядке.
Я подозреваю, что Java 8 более придирчив, чем Java 7.
keytool -importkeystore -srckeystore client.jks -destkeystore client2.jsk -srcstoretype JKS -deststoretype JKS -deststorepass changeit