Я загубив файл .keystore?


87

Добре, люди .. коротше, я розробляв на комп’ютері, до якого я вже не маю доступу. Мені вдалося отримати вихідний код, але не файл .keystore, який використовувався для підпису та публікації моєї програми на ринку (із кількома оновленнями). Мені та моїм бідним користувачам не пощастило, якщо я коли-небудь захочу оновити?

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


14
Якби це було обійдено, це перемогло б цілі безпеки, яким вона повинна служити!
Санта

Відповіді:


79

Зіткнулася з тією ж проблемою. Я намагався відновити його за допомогою видалених файлів, але не вдалося. Отже, іншого шляху немає: вам слід оформити іншу заявку.

Як правило, єдина порада, яка існує в магазинах ключів: "Завжди створюйте резервні копії!"


1
Я зіткнувся з цим, і мені довелося перевидати нову версію мого додатка. З тих пір усі мої ключі знаходяться на Dropbox.
Варун

Після оновлення до Android Studio 3.3 моє старе сховище ключів більше не приймається під час підписання програми. З'являється повідомлення про помилку "Не вдається відновити ключ".
Яр,

55

Тепер можна не хвилюватися, ось повні та останні кроки для скидання файлу .JKS.

Я успішно відпочиваю своїм КЛЮЧОМ

Крок 1

Завантажте СЕРТИФІКАТ ЗАВАНТАЖЕННЯ (назва файлу - upload_cert.der ) зі своєї консолі Google Play Store

завантажити файл upload_cert.der

Крок-2

Перейдіть за цим ПОСИЛАННЯМ https://support.google.com/googleplay/android-developer/contact/otherbugs та заповніть форму заявки своїм дійсним ідентифікатором електронної пошти та завантажте файл (upload_cert.der).

Заповніть форму заявки

Крок-3

Тепер ви отримаєте електронний лист від команди підтримки, і їм не потрібен ваш файл .JKS, але файл .PEM - ось зразок електронного листа.

введіть тут опис зображення

Крок-4

щоб перетворити файл .JKS у файл .PEM, вам просто потрібно завантажити KeyStore Explorer JKS в PEM

Після відповіді на пошту почекайте від 48 до 72 годин, коли заповнення магазину ключів буде скинуто.


6
Що робити, якщо вхід у програму Google Play не ввімкнено для програми?
Vipul Behl

Нічого, крім цього, не знайдено. Google офіційно оголосив про нову техніку підписання додатків для Android в травні 2017 року.
Розробник Вікі

1
на кроці 3. чи потрібно мені створити новий файл jks, перетворити його на файл pem і надіслати на адресу електронної пошти. цей крок є основним ???
giveJob

1
так, вам потрібно створити новий файл JSK і перетворити на PEM @HemanthSP
Розробник Вікі

так, я зробив, і тепер мій новий магазин ключів придатний для завантаження, я отримав підтвердження google mail
giveJob

35

До сьогоднішнього дня втрата ключа унеможливить оновлення програми новою версією. У таких випадках єдиним рішенням було опублікувати нову програму з новою назвою та ключем пакету та попросити всіх своїх користувачів встановити її.

Починаючи з сьогоднішнього дня, ключем підписання програми в Play Console тепер надійно керує Google Play, тобто ви несете відповідальність лише за керування вашим ключем завантаження. Якщо ваш ключ завантаження скомпрометований або втрачений, команда операторів розробників Google може допомогти, перевіривши вашу особу та скинувши ключ завантаження. Google все одно перепідпишеться тим самим ключем підписання програми, що дозволить додатку оновлюватись як зазвичай.

Для існуючих програм потрібно передати ключ підписання програми в Google Play. Для нових додатків Google може створити ваш ключ підписання додатка. Після реєстрації в програмі підписання ви підписуєте свій файл .apk ключем завантаження, який Google використовує для автентифікації вашої особи. Потім вони позбавлять цей підпис і перепідписують вашу програму за допомогою ключа підписання програми.

Довідка: Довідка Play Console> Керування ключами підписання програми


13

Це можливо протягом тривалого часу.

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

keytool -genkeypair -alias newalias -keyalg RSA -keyys 2048 -дійсність 9125 -keystore nameofkeystore.jks

Цей ключ повинен мати 2048-бітний ключ RSA та мати 25-річний термін дії.

  1. Експортуйте сертифікат для цього ключа у формат PEM:

keytool -export -rfc -alias newalias -file upload_certificate.pem -keystore nameofkeystore.jks

Потім завантажте цей файл pem і заповніть форму та надішліть його на цей сайт . І тоді ви отримаєте електронне повідомлення, як тільки ми зареєструємо новий ключ завантаження. Приймає лише запити на скидання ключів від власника облікового запису Play Console .

Все добре і добре. Ви можете опублікувати новий реліз apk із новим файлом jks.


2
Це працює, лише якщо у вас увімкнено підписання додатків Google Play .
Суміт

немає . немає необхідності підписувати додатки Google Play. принаймні я не дозволяю це.
ksgngrkn

Це десь задокументовано?
Суміт

Це працює лише для додатків, що підписують програми. Я щойно підтвердив.
Euridice01

11

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

Отже: Завжди створюйте резервні копії файлів магазину ключів. Це так само важливо, як і ваш вихідний код.


1
Отже, якщо я це правильно зрозумів, цей приватний ключ генерується випадковим чином для кожного сховища, так? І єдине, що ми знаємо, - це відкритий ключ, правильно?
iCantSeeSharp

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

Чи ідеально зберігати файл і ключі сховища разом із репо?
Neon Warge,

3

Якщо ви активували підписання додатків Google Play для своєї програми, вам не потрібно турбуватися.

Щоб перевірити, чи увімкнено підписання додатків Google Play, перейдіть до Керування випуском -> Підписання додатків на консолі Google Play.

Якщо цей параметр увімкнено, ви можете зв’язатися зі службою підтримки Google Play, заповнивши форму підтримки, або ж ви також можете вибрати чат у прямому ефірі зі службою підтримки тут: https://support.google.com/googleplay/android-developer/answer/7218994? hl = uk

Поясніть їм свою проблему, і вони розкажуть вам про наступні кроки, які включають створення нового 2048-бітового сховища ключів RSA із терміном дії 25 років та експорт ключа у формат PEM та надсилання його їм електронною поштою.

Щоб експортувати ключ у формат PEM:

keytool -export -rfc -alias upload -file upload_certificate.pem -keystore keystore.jks

Це має бути правильною відповіддю.
Кайо Сантос

2

З довгих днів я також шукаю рішення для цього, але дотепер не успішно. Якщо у вас остання версія apk вашого додатка, тоді ви можете отримати сертифікати з нього за допомогою команди jarsigner cmd. Але вам потрібен приватний ключ для оновлення. Google Play не забезпечив розслаблення для цього.


3
Ви маєте більше інформації про те, як це зробити?
Zabs

1

Я створив підписаний apk за допомогою андроїд-студії, тому в " Шлях магазину ключів " я просто набрав якесь ім'я без розширення та заповнив це спливаюче вікно та підписав програму. введіть тут опис зображення

Наступного разу для публікації програми я не пам’ятаю шлях та назву, де вона була створена.

я якось знаходжу місце за замовчуванням, яке "C: \ Program Files \ Java \ jdk1.8.0_45 \ jre \ bin": \ jre \ bin

і в цій папці коротко за датою, тоді я спробував з недавнім файлом, і він працював для мене.

Примітка: слід пам’ятати пароль сховища ключів та пароль ключа.


0

Навколо цього повинен бути спосіб .. як щодо несправності жорсткого диска?

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


Звичайно, є способи обійти це, просто Google цього не зробить. Магазин Windows (навіть якщо ним ніхто не користується) дозволяє підписувати вам програми з Visual Studio (вам просто потрібно ввійти в систему за допомогою облікового запису магазину), а потім можна легко завантажити їх у магазин. Google--; Microsoft ++;
Хуан Карлос,

0

Так, ви можете випустити оновлення існуючої програми за допомогою нового ключа!

Тепер Google дозволяє завантажувати новий ключ до існуючої програми, просячи їх скинути через електронну пошту / чат у службі підтримки Google.

Цей процес займає 1-2 робочих дні.

Я виконав цей процес і завантажив оновлення до того самого додатка з новим ключем. Технічна команда Google Play Store допомогла мені скинути попередній ключ.


0

Зараз це можливо, після травня 2017 року ви можете оновити програму, якщо загубили магазин ключів чи пароль. Ви не можете відновити загублене сховище ключів, але можете замінити сховище ключів у магазині відтворення. Натисніть тут

Процес підписання програми:

Ви можете завантажувати файли .apk, підписані оригінальним ключем підписання програми, до або після того, як ви ввійдете в підпис додатків Google Play.

Якщо ви починаєте використовувати Android App Bundle, ви можете протестувати їх під час тестування треків під час використання наявного файлу .apk у виробництві. Ось як працює процес:

  1. Підпишіть свій пакет додатків або файл .apk і завантажте його на свою консоль Play.
  2. Залежно від того, що ви завантажуєте, ось чим відрізняється процес підписання:

    • Набір додатків: Google генерує оптимізовані файли .apk з вашого набору додатків і підписує їх ключем підписання програми.
    • Файл .apk, підписаний ключем завантаження: Google перевіряє та вилучає ваш підпис з файлу .apk, а потім подає у відставку файл .apk за допомогою ключа підписання програми.
    • APK, підписаний ключем підписання програми: Google перевіряє підпис. Google постачає підписані файли .apk користувачам.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.