Keystore зміни паролів


267

На даний момент у мене є магазин брелоків із певним паролем, який тільки я повинен знати. Тепер мені потрібно надати доступ до цього магазину брелоків комусь іншому, тому я хотів би зробити таке:

1) Змініть пароль, щоб я міг поділитися ним з іншими і нехай вони підписуються.
2) Створіть інший пароль і дозвольте їм підписати його.

Чи можливо це? і - якщо так - як?

Відповіді:


489

У Keystore є лише один пароль. Ви можете змінити його за допомогою keytool:

keytool -storepasswd -keystore my.keystore

Щоб змінити пароль ключа:

keytool -keypasswd  -alias <key_name> -keystore my.keystore

6
Чудово, значить, підпис apk буде однаковим? Просто пароль зміниться? Це те, що мені теж потрібно. Вибрали невірний пароль, тепер його потрібно змінити.
Метью Руді

6
Підпис не зміниться, оскільки додаток НЕ підписується із зберіганням ключів, а сертифікатом, який ви зберігаєте в магазині ключів.
Marcin Orlowski

keyName - це ім'я псевдоніма, наприклад. -alias Dipu
ıl '

18
Щоб видалити пароль для ключа, потрібно встановити той самий пароль, що і для зберігання ключів, хтось може бути корисним ;-)
Betlista

Це стосується і цього .jks? Мій магазин брелоків .jks, створений Android Studio

81

[Як я можу] Змінити пароль, щоб я міг поділитися ним з іншими і нехай вони підписуються

Використання ключового інструмента:

keytool -storepasswd -keystore /path/to/keystore
Enter keystore password:  changeit
New keystore password:  new-password
Re-enter new keystore password:  new-password

це також змінює пароль для ключа всередині?
over_optimistic

4
Ні. Keystore - це одне, паролі (відмітка множини) - інше. Використовуйте keytool -keypasswd -alias <KeyName> -keystore my.keystoreдля зміни пароля приватного ключа<KeyName>
Marcin Orlowski

5
після введення ключа зберігання ключів -changeit він видає помилку помилки keytool: java.io.IOException: Keystore було підроблено, або пароль був неправильним
Dilip

@Dipu, я отримую таку ж помилку. Вам вдалося вирішити це
JiteshW

Ви можете перевірити, що пароль змінився (якщо ви сумніваєтесь), запустивши знову ту саму команду. Після того, як буде запропоновано існуючий пароль, якщо ви введете неправильний пароль, він скаже, що ви ввели неправильний пароль або файл був підроблений та перерваний.
ArtOfWarfare

48

Зміна пароля зберігання ключів

$ keytool -storepasswd -keystore keystorename
Enter keystore password:  <old password>
New keystore password: <new password>
Re-enter new keystore password: <new password>

Зміна пароля псевдоніму зберігання

$keytool -keypasswd -keystore keystorename -alias aliasname
Enter keystore password:  
New key password for <aliasname>: 
Re-enter new key password for <aliasname>:

Примітка:

**Keystorename**: name of your keystore(with path if you are indifferent folder) 
**aliasname**: alias name you used when creating (if name has space you can use \) 
for example: $keytool -keypasswd -keystore keystorename -alias stop\ watch

1
Це працює дякую! Ще одне, що я хочу додати, щоб змінити ім’я псевдоніма, яке я хотів і отримав з форуму. keytool -changealias -keystore my.keystore -alias my_name -destalias my_new_name
Jugal Panchal

Під час зміни пароля псевдоніма я отримую: UnrecoverableKeyException: Не вдається відновити ключ Будь-які пропозиції?
Foo

@Foo Ви коли-небудь вирішували це питання? Я отримую таку ж помилку
Райан Ньюмен

3
Зміна пароля псевдоніму зберігання, те, що ви коли-небудь показали, не працює, воно не запитає пароль нового ключа для <aliasname>. Він запитує існуючий пароль для <aliasname>, який не відомий у цьому випадку.
Шиварадж Патіл

Я все одно не можу відновити ключ на кроці: Новий пароль ключа для <aliasname>: Будь-які ідеї? Я щойно створив ключ в Android Studio, завантажив, зрозумів, що мені потрібно щось оновити, і тепер це не працює: /
Dewald Els

22

Щоб змінити пароль для ключа myaliasвсередині магазину ключів mykeyfile:

keytool -keystore mykeyfile -keypasswd -alias myalias

Що таке "внутрішній ключ"?
ІгорГанапольський

5
Вибачте за моє погане пояснення. Ви можете змінити пароль магазину ключів або пароль одного з ключів, які ви зберегли в магазині. Ось що я маю на увазі під «внутрішнім ключем».
OriolJ

9

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

keytool -importkeystore  -srckeystore mystore.jck -destkeystore myotherstore.jks -srcstoretype jceks
-deststoretype jks -srcstorepass mystorepass -deststorepass myotherstorepass -srcalias myserverkey
-destalias myotherserverkey -srckeypass mykeypass -destkeypass myotherkeypass

7

Тут дуже багато відповідей, але якщо ви намагаєтесь змінити пароль jks на Mac в Android Studio. Ось найпростіші кроки, які я міг знайти

1) Відкрийте термінал і перейдіть до місця, де знаходиться ваш .jks

2) keytool -storepasswd -новий NEWPASSWORD -keystore YOURKEYSTORE.jks

3) введіть свій поточний пароль


5

Провідник KeyStore - це заміна графічного інтерфейсу з відкритим кодом для утиліти командного рядка Java keytool та jarsigner. KeyStore Explorer представляє їх функціональність та інше за допомогою інтуїтивного графічного інтерфейсу користувача.

  1. Відкрийте існуючий KeyStore
  2. Інструменти -> Встановити пароль KeyStore

найкраще рішення! Краще, ніж писати до терміналу. Використовуючи це програмне забезпечення - я зміг змінити паролі та додати нові пари ключів. Дуже рекомендую
Дан Альботеану

4

Для повних програмних змін (наприклад, встановити програму) і не вимагати

#!/bin/bash -eu

NEWPASSWORD=${1}
OLDPASSWORD=${2}

keytool -storepasswd -new "${NEWPASSWORD}" \
  -storepass "${OLDPASSWORD}" \
  -keystore /path/to/keystore

Повне розкриття інформації: Я НЕ рекомендую запускати цей командний рядок в оболонці, оскільки старі та нові паролі будуть збережені в історії оболонки та видимі в консолі.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.