Менеджер ключей андроид всплывает

Обновлено: 18.05.2024

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

В настоящее время у разработчиков есть привлекательная альтернатива для управления ключами самостоятельно: подписание приложения на Google Play, где ключ загрузки (тот, который вы используете, чтобы загрузить свои артефакты в Google Play) и ключ для подписи приложения (который используется для подписи APK-файлов, распространяющихся на устройства) могут быть разными, и второй ключ хранится на Google инфраструктуре.

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

Вот почему я хочу развеять некоторые распространенные заблуждения относительно подписи приложений в Google Play, а также дать рекомендации по конкретным сценариям, с которыми вы можете столкнуться.

Этот совет основан на вопросах, которые наша команда по связям с разработчиками слышала на конференциях, в онлайн-форумах и наших чатах 1:1.

Давайте начнем с самой убедительной причины для перехода на подписание приложений с помощью Google Play:

1. Я потерял ключ, используемый для подписи артефактов релиза, которые я загружаю в Google Play. Какие у меня есть варианты?

Без подписи приложения в Google Play: благодаря защите безопасности, встроенной в Android, без ключа вы или Google ничего не можете сделать для продолжения обновления вашего приложения. Ваш единственный вариант — это создать новый список с новым именем пакета и начать с нуля.

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

2. Почему Google хочет, чтобы разработчики переключились на подписание приложений с помощью Google Play?

Первым приоритетом Google Play является создание безопасной и надежной платформы для миллиардов пользователей и миллионов разработчиков.

От этого зависит устойчивость и успех экосистемы. Большинство разработчиков не могут обеспечить тот уровень безопасности, который может предложить Google.

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

Например, ряд приложений, находящихся в настоящее время в Play Store, до сих пор не приняли более безопасную схему подписи v2. После регистрации в приложении подписи от Google Play приложения автоматически получают преимущества новых механизмов защиты и будущих улучшений, без необходимости работы разработчика.

И наконец, разделение формата публикации (с использованием пакетов приложений для Android) и формата обслуживания (разделенные APK) открывает преимущества как для разработчиков, так и для пользователей: от повышения безопасности до оптимизации, снижения сложности и фрагментации. Однако для этого Play должен иметь возможность подписывать обслуживающие артефакты.

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

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

Несмотря на то, что мы продолжаем совершенствовать наш стек обслуживания, мы не изменяем и не распространяем код вашего приложения без вашего ведома и одобрения, и новые оптимизации, которые выполняет Play, доступны для вашего контроля в bundletool с открытым исходным кодом. Далее в этом часто FAQ мы обсудим некоторые метаданные (те, которые не влияют на работу вашего приложения), которые вы можете увидеть между артефактами, загруженными из Play и созданными локально.

3. Мой ключ подписи приложения был сгенерирован много лет назад, и я боюсь, что его криптографическая сила больше не соответствует сегодняшним стандартам, или мне кажется, что произошла утечка моего ключа подписи приложения. Что я могу сделать для обновления?

Без подписи приложения в Google Play: как уже упоминалось ранее, вы не можете просто переключиться на новый ключ, так как это будет означать, что ваши существующие пользователи не смогут получать обновления приложений. Вы должны либо продолжать использовать существующий ключ и рисковать безопасностью данных ваших пользователей, либо начать новую запись приложения с нуля.

С подписью приложения в Google Play: если вы используете слабый ключ или ваш ключ был скомпрометирован, вы можете обновить его для новых установок.

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

Рассмотрите включение подписи приложения сейчас и как можно скорее переключитесь на использование отдельного ключа загрузки, что снизит вероятность компрометирования ключа подписи приложения.

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

Обратите внимание, что текущий процесс обновления ключа не использует преимущества функции ротации ключа, введенной в Android 9 (Pie) и выше. В настоящее время мы изучаем поддержку ротации ключей с помощью подписи приложения версии 3 для устройств на этих версиях ОС и сообщим об этом сообществу разработчиков, как только оно будет готово, в отдельном объявлении.

4. Ключ загрузки, который я использовал для подписи своих артефактов, был украден. Какие у меня есть варианты?

Без подписи приложения в Google Play: нет никакой концепции отдельного “ключа загрузки”, поэтому, если ваш ключ подписи выпуска утечет, вы можете оказаться в большой беде: кто-то может создать вредоносные или несанкционированные версии вашего приложения, которые будут неразличимы (и обновляемы!) от вашего оригинального APK.

Конечно, защита учетной записи Google применяется к доступу к консоли Google Play (и мы рекомендуем разработчикам включить 2-ступенчатую проверку), поэтому злоумышленнику все равно придется найти способ обмануть пользователя, чтобы он загрузил такой измененный APK. Тем не менее безопасность вашего приложения ослаблена.

Обратитесь к вопросу 3 о скомпрометированном ключе подписи приложения, чтобы узнать, какие исправления доступны, а также как обновить ключ для новых установок.

С подписью приложения в Google Play: если ваш ключ загрузки отделен от ключа подписи приложения (рекомендованный вариант), и просочился только первый, то данные ваших пользователей будут в безопасности — одного ключа загрузки недостаточно, чтобы подменить APK, подписанные ключом подписи приложения. Просто запросите новый ключ загрузки.

5. Я включил функцию подписи приложений в Google Play для своего приложения, но передумал и хотел бы загрузить ключ подписи приложений, хранящийся в инфраструктуре Google.

Вы или кто-либо другой в вашей учетной записи разработчика не может загрузить и сохранить закрытый ключ для вашего приложения, хранящегося в защищенной инфраструктуре Google. Это делается для обеспечения защиты ключа подписи вашего приложения.

Если вы предвидите ситуацию, в которой вам потребуется постоянный доступ к ключу подписи вашего приложения, вам следует сделать следующее при включении подписи приложения:

· Не выбирайте опцию, в которой Google Play создает ключ подписи приложения за вас. Вместо этого создайте свой ключ подписи локально на вашем компьютере.

· Надежно перенесите свой ключ в Google Play и не удаляйте его с вашего компьютера.

· Храните ключ в надежном месте, чтобы он не просочился к третьим лицам.

· Убедитесь, что вы регулярно создаете и тестируете резервные копии своего ключа, так как в случае его потери вы не сможете загрузить его из Google.

Эти шаги описаны в документации. В инструкции о том, как ”выбрать существующее приложение”, показано, как зашифровать свой ключ подписи, чтобы загрузить его на консоль Google Play из Android Studio или командной строки.

Если вы абсолютно уверены, что вам не понадобится постоянный доступ к ключу подписи вашего личного приложения, мы рекомендуем вам либо разрешить Play генерировать ваш ключ (для новых приложений), либо удалить свою копию после передачи ее в Play и переключиться на использование ключа загрузки.

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

6. Как я могу быть уверен, что мой закрытый ключ не будет перехвачен при передаче его в Google Play?

Если вы включаете подпись приложения для нового приложения и выбираете опцию создания нового ключа в консоли Google Play, ключ никогда не передается и генерируется непосредственно на защищенном сервере Google.

Если вам нужно передать существующий ключ подписи (необязательно для новых приложений и обязательно для существующих приложений), вы всегда делаете это в зашифрованном виде. Независимо от того, экспортируете ли вы ключ из Android Studio или из командной строки, вы будете использовать инструмент шифрования закрытого ключа Play (PEPK) локально на вашем компьютере перед передачей ключа.

В случае, если вам нужно знать детали используемого шифрования, PEPK использует асимметричное шифрование эллиптической кривой P256 с симметричным шифрованием AES. Если вам нужно получить более подробную информацию, вы можете загрузить инструмент PEPK и его исходный код во время процесса регистрации подписи приложения.

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

Используйте только версии PEPK, загруженные с консоли Google Play, никогда не загружайте его или его источник с непроверенных сторонних веб-сайтов.

7. Как ключ защищен на остальной инфраструктуре Google? Как я могу быть уверен, что никто не имеет к нему доступа?

Когда вы используете подпись приложения в Google Play, ваши ключи хранятся в той же инфраструктуре, где и Google хранит свои собственные.

Доступ к ключам регулируется строгими ACL и аудиторскими следами с защитой от несанкционированного доступа для всех операций.

Все артефакты, созданные и подписанные ключом разработчика, становятся доступными в консоли Google Play для проверки/аттестации.

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

Если вы хотите узнать о технической инфраструктуре Google, ознакомьтесь с информационными документами Google Cloud Security.

8. Мне нужен публичный сертификат для регистрации внешних сервисов, но у меня нет доступа к своему ключу. Что я могу сделать?

Если вы хотите использовать сервисы или API, которые требуют регистрации с хэшем публичного сертификата вашего приложения, вы можете просмотреть или загрузить “отпечатки пальцев” публичного сертификата из раздела “App signing“ консоли Google Play:

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

Большинство сервисов позволяют включить несколько сертификатов для приложения, поэтому вы можете продолжить тестирование с локально построенными APK, а также APK, генерируемыми Google Play.

9. Отличаются ли артефакты, которые Google Play распространяет среди пользователей моего приложения, от тех, которые я создаю локально, кроме ключа, используемого для их подписи?

Как уже говорилось ранее, Play не будет изменять функциональность вашего приложения без вашего ведома и одобрения. Однако он вставляет небольшое количество метаданных, которые помогают проверить источник и целостность распространения. Эти метаданные бывают двух видов:

• Для всех приложений, загруженных в Google Play, Play добавлял метаданные безопасности после блока подписи, чтобы включить такие функции, как авторизованный обмен приложениями P2P. Мы объявили об этом первоначально в своем блоге в 2017 году.

• Для приложений, загруженных в виде пакетов приложений, мы улучшим безопасность, введя так называемый штамп источника. Эти исходные метаданные вставляются в манифест приложения с помощью bundletool. Когда APK генерируется на сервере Play, он также подписывается с помощью ключа Google в дополнение к вашему ключу подписи приложения.

Это означает, что метаданные безопасности не могут быть удалены или изменены без аннулирования подписи Google. Такой подход дает сигнал высокой уверенности в том, что немодифицированные АПК, содержащие исходный штамп, пришли из Google Play.

Вы можете локально использовать bundletool с открытым исходным кодом для генерации APK из пакетов точно так же, как это делает Play на сервере. Метаданные исходного штампа, добавленные bundletool, не будут подписаны ключом Google. Другие исходные подписи будут возможны, когда ApkSigner будет обновлен со следующим выпуском Android.

10. Как я могу получить доступ к последним артефактам, которые Google Play распространяет среди пользователей моего приложения?

Есть несколько вариантов, доступных для вас:

• В целях тестирования вы можете использовать внутреннюю ссылку на общий доступ к приложению для любой исторической версии вашего приложения из проводника пакетов приложений консоли Google Play. Нажатие на ссылку на устройстве приведет к установке APK, которые Play Store установит в prod для этого устройства.

• Вы также можете загрузить подписанные APK-файлы для конкретных устройств из проводника пакетов приложений консоли Google Play.

11. Как я могу продолжать распространять свое приложение в других магазинах, если я хочу использовать подпись приложения в Google Play?

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

Для новых приложений вы можете использовать отдельные ключи подписи для каждого канала распространения, а Google будет генерировать ключ, используемый Google Play для вас. Это самый безопасный способ для приложений, распространяемых в Play, так как ключ никогда не покидает серверы Google, что сводит вероятность того, что кто-то перехватит ключ, почти к нулю.

Кроме того, для тех, кто не хочет управлять несколькими ключами, но все еще использует преимущества безопасности подписи приложений в Google Play, мы скоро предоставим возможность загружать подписанные универсальные APK из проводника пакетов приложений и распространять их в других магазинах.

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

При необходимости вы можете рассмотреть функцию обновления ключа, упомянутую ранее, чтобы со временем отказаться от совместного использования ключа, используемого Google Play, с другими каналами распространения.

Есть одно предостережение, которое приходит вместе с вышеприведенным советом: пожалуйста, обратите внимание, что если вы решите использовать отдельные ключи подписи для разных магазинов, ваши пользователи не смогут перекрестно обновлять приложение между различными каналами распространения. Например, когда кто-то изначально установил приложение через другой магазин, а затем пытается обновить его через Play. Они должны будут удалить и установить приложение снова.

12. Я занят работой над функционалом, и все это звучит сложно. Нужно ли мне переключаться на пакеты приложений для Android или использовать расширенные функции, такие как динамическая доставка?

Нет, вы не должны делать все сразу.

Вы можете выбрать подписание приложений от Google Play и продолжить публикацию APK. Когда вы будете готовы, вы можете начать публиковать пакеты приложений для Android.

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

Со временем вы можете воспользоваться преимуществами расширенных функций, таких как динамическая доставка. Вы также можете модулировать свое приложение с помощью динамических функциональных модулей, чтобы улучшить время сборки и воспользоваться преимуществами настраиваемой доставки. Play может использовать динамическую доставку для предоставления высококачественных активов во время или после установки с настраиваемыми режимами и интеллектуальными опциями таргетинга.

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

Перевод: Лебедев Даниил.

Еще больше полезной и нужной информации вы найдете в нашем Телеграм-канале по ссылке:

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

затмение

последний плагин ADT

последние Android SDK

  • я не потерял пароль, и он имеет никогда не менять.
  • я не могу получить пароль (я знаю пропуск).
  • я не могу подписать существующее приложение с другим ключом, не выпустив новое приложение (поэтому я не могу публиковать обновления).
  • я удалил и повторно установил Eclipse много раз.
  • я удалил и переустановил плагин Android ADT.
  • я удалил и повторно загружен lastest Android SDK много раз.
  • я удалил и переустановил JDK7.
  • я попытался использовать резервные копии моего хранилища ключей.
  • я проверил контрольные суммы MD5 с помощью "хранилища ключей md5sum" и по сравнению с резервными копиями(тот же вывод MD5 - не подделан).
  • я попробовал грубое принуждение хранилища ключей (я получил пароль, который я знал).
  • я создал тестовый ключ (с текущей настройкой) и протестировал пароль и кажется, он работал нормально (так что что-то изменилось).
  • я попытался экспортировать android .apk вручную, а затем попытался подписать его (вне Eclipse).
  • Через Eclipse: экспорт с помощью файла > экспорт > Экспорт приложения для Android.
  • до JDK7: JARSIGNER-verbose-keystore псевдоним файла хранилища ключей.
  • с JDK7: jarsigner-verbose-sigalg MD5withRSA-digestalg SHA1-keystore псевдоним файла хранилища ключей.
  • некоторые ссылки / URL-адреса говорят, чтобы удалить " trusted.сертификаты файл"?
  • Попробуйте удалить " debug.хранилище"?
  • обновление Eclipse или любого из инструментов разработки Android повлияет на мой хранилище ключей?
  • будет ли обновление Java от jdk6 до jdk7 создавать какие-либо проблемы?
  • могло ли это испортить или изменить, как работает jarsigner в любом случае?
  • попробуйте использовать JDK6, но я недавно смог экспортировать приложение.
  • проверил ключ.магазин.пароль или ключ.псевдоним.пароль в моем локальном.свойства
  • снимите флажок Автоматически строить в eclipse и очистите свой проект
  • Попробуйте удалить .папка метаданных в рабочей области и очистите все временные папки.
  • хранилища ключей не менял,
  • у меня есть пароли от хранилищ,
  • недавно я успешно экспортировал приложение, используя:
    • затмение 3.8 (и Eclipse 4.0+),
    • Последние Java 7,
    • последний плагин ADT.
    • я использовал: keytool-list-keystore хранилище ключей чтобы успешно доказать и показать, что 3 из моих 4 ключей работают.
    • я bruteforced Последний ключ и получил пароль из хранилища ключей (пропуск я уже знал), но пароль не работает, когда я вхожу для подписания. Я использовал: java-jar AndroidKeystoreBrute_v1.02.Джар - m 3-k KEYSTORE - D список слов.
    • как ни странно, иногда, когда я набираю свой пароль в eclipse очень быстро, мой псевдоним появится, и я смогу успешно экспортировать свое приложение. (Я знаю, что это безумие).
    • Обновлена Java версия.

    если я набираю пароль очень быстро, он иногда работает.

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

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

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

    особая благодарность пользователю Erhannis!

    вот что я сделал:

    команда будет ошибаться на меня каждый раз:

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

    после извлекая закрытый ключ и сохраняя его как PKCS12, я думаю, что извлек мой закрытый ключ и вернул его в новое хранилище ключей Java:

    ссылки:

    список URL-адресов StackOverflow, которые я прочитал:

    1. keytool -importkeystore -srckeystore old.keystore -destkeystore new.keystore -v
    2. дважды вводил новый пароль хранилища ключей
    3. нажмите Enter когда он попросил у меня исходный пароль хранилища ключей (оставил его пустым)
    4. введен пароль

    после двойной проверки того, что новый работал, я просто скопировал его поверх старого. Надеюсь, это сработает для вас; удачи.

    Попробуйте удалить .метаданные папка в рабочей области и очистите все временные папки. Если ваш файл keystore не поврежден и вы пытались переустановить Eclipse, ADT, Android SDK и Java SDK правильно, я не вижу других возможных причин для этой странной проблемы, исключая .файлы кэша метаданных и\или некоторые временные повреждения.

    еще одно предложение

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

    похоже, что при создании хранилища ключей с помощью Eclipse, пробел был добавлен перед паролем!

    эта неприятная ошибка была, по-видимому, исправлена в более поздней версии, в результате чего я не смог подписать свое приложение паролем, который я считал правильным.

    на основе этой ссылки SO:Ant не удается построить подписанный apk после обновления до android v20 я бы посоветовал вам попробуйте добавить пробел после пароля.

    Я предложу еще пару тепла и испытаний.

    имейте терпение, чтобы применить их,

    действия:

    1. автоматически отключите сборку (Project - > Build Automatically) в eclipse и очистите свой проект.
    2. снова его построить.(Щелкните правой кнопкой мыши на project + Build Project)
    3. Экспорт Проекта.
    4. Выберите Экспорт Android.(авто выровнены для вас)
    5. выберите ключ. введите пароль. псевдоним должен прийти в список.(Будьте уверены в caps lock). Иногда мы даем правильный пароль, но из-за колпачков он всегда терпит неудачу;)
    6. Дайте мне знать, если это работает для вас.

    надеется, что это поможет вам.

    вы храните такие значения, как key.магазин.пароль или ключ.псевдоним.пароль в вашем локальном.файл свойств? Либо эти неправильные?

    Мне любопытно, есть ли какая - то ошибка, которая возникает для ключей, созданных с помощью JDK6 и проверенных в JDK7-это объяснило бы, почему новые ключи, созданные для тестирования, работают, но старый нет. Попробуйте понизить рейтинг до JDK6 и посмотреть, исправит ли это - у других были проблемы с jarsigner в JDK7, которые ушли, когда они снизились до 6. Если это сработает, файл отчета об ошибке и требовать патч, так что вы можете безопасно перейти на Java 7:)

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

    Это более вероятно, если у вас, как и у меня, есть несколько версий Java на вашем компьютере и обновили JRE / JDK между тем, как вы изначально создали хранилище ключей, и теперь, когда вы пытаетесь подписать APK.

    для некоторых причина, наши инструкции по компиляции ссылались на полный путь Java следующим образом:

    1\Java\jdk1.6.0_45\bin\jarsigner-verbose-sigalg SHA1withRSA-digestalg SHA1-хранилище ключей cre80ve.хранилище ключей без подписи.apk cre80ve

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

    ключей -списке -ключей cre80ve.хранилища ключей

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

    затем я отбросил явную ссылку в пути к (старой) версии Java. Это заставило его автоматически подобрать последнюю версию Java (jdk1.8.0_31 в моем случае):

    jarsigner-verbose-sigalg SHA1withRSA-digestalg SHA1-хранилище ключей cre80ve.хранилище ключей без подписи.apk cre80ve

    и все начало работать прекрасно!

    Bottomline: это может быть не проблема с паролем вообще, но различные версии Java или Android SDK вызывают проблему, поэтому не забудьте проверить это.

    и как только он начнет работать, не забудьте сделать резервную копию хранилища ключей и пароля в безопасном месте: -)

    мой псевдоним ключа остановился, работая sudenly. (Хорошо, после нескольких обновлений Android Studio и Java).

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

    и затем Я изменил пароль псевдонима на тот же, что и пароль хранилища ключей:

    наконец - то я смог подписать свой apk. Это похоже на глупую ошибку, которая может потратить день на разработку.

    просто была эта проблема-внезапно Android Studio забыл мои пароли и не использовал те, которые у меня были в файле gradle. У меня был тот же файл ключей и пароли в том же проекте в течение 6 лет!

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

    наконец в чистом отчаянии я попытался переключить пароль хранилища ключей и пароль ключа. И вот-сработало! Оказывается, я поменял пароли, когда ввел их в файл сборки Gradle несколько лет назад, и по какой-то причине я этого не заметил.

    вывод: никогда не будьте на 100% уверены, что вы делаете это правильно.

    Недавно поменяли графический ключ и забыли его, или дали попользоваться смартфоном ребенку, а он случайно заблокировал устройство? Обе ситуации неприятные, но не критичные: прочитав эту инструкцию, вы сможете разблокировать телефон, причем во многих случаях удастся сохранить файлы, фотографии, загруженную музыку и видео.

    Кнопка «Забыли пароль?»

    реклама


    MSI RTX 3070 сливают дешевле любой другой, это за копейки Дешевая 3070 Gigabyte - цена падает из-за снижения крипты

    Подобную функцию редко встретишь в прошивках, основанных на Android 5.0 и новее. Но некоторые производители по-прежнему добавляют ее в систему, так что пробуйте – возможно, это именно ваш случай.

    Если вы не помните пароль от аккаунта Google, перейдите по ссылке и пройдите процедуру восстановления учетной записи.

    Сброс настроек через Recovery

    реклама

    var firedYa28 = false; window.addEventListener('load', () => < if(navigator.userAgent.indexOf("Chrome-Lighthouse") < window.yaContextCb.push(()=>< Ya.Context.AdvManager.render(< renderTo: 'yandex_rtb_R-A-630193-28', blockId: 'R-A-630193-28' >) >) >, 3000); > > >);

    Второй метод заключается в сбросе настроек из меню Recovery. Рекавери – это режим восстановления, своего рода BIOS для Android-смартфонов и планшетов. С помощью него можно сбросить настройки телефона до заводских, установить новую официальную прошивку, очистить кэш, сделать бэкап и восстановить данные.

    После сброса настроек очистится внутренняя память смартфона: будут удалены установленные приложения, добавленные аккаунты, фотографии (если они сохранялись в память устройства, а не на SD). При этом файлы, загруженные на карту памяти, не будут стерты. То есть, телефон станет таким же «чистым», каким он был после покупки. А значит, установленный пароль (или графический ключ) тоже будет сброшен.

    Чтобы зайти в Рекавери, выключите устройство, а потом нажмите и удерживайте определенную комбинацию кнопок до появления заставки. В зависимости от производителя устройства, сочетания клавиш для входа в Recovery, отличаются.

    Китайские телефоны с чипами MTK

    Удерживайте клавишу увеличения громкости и кнопку питания.


    реклама


    Huawei и Honor

    На смартфонах Huawei и Honor, для входа в меню Recovery, могут использоваться 2 комбинации клавиш, пробуйте:

    Зажмите кнопку включения и клавишу понижения громкости.

    Зажмите кнопку включения и клавишу увеличения громкости.


    Samsung

    реклама

    На новых телефонах Samsung нажмите и удерживайте 3 кнопки: Bixby, Питание и Громкость «+» или Домой, Питание и Громкость «+». На старых смартфонах используется сочетание клавиш Домой и включения. На старых планшетах – включения и повышения громкости.


    Google Pixel и Nexus

    На смартфонах Nexus и Pixel сначала придется перевести устройство в режим Fastboot, а уже из меню Fastboot – в режим восстановления. Для этого на выключенном смартфоне одновременно удерживайте кнопку включения и клавишу громкости «Вниз».


    С помощью кнопок регулировки громкости установите стрелку на «Recocery mode» и нажмите на кнопку питания, чтобы подтвердить выбор.


    Держите кнопки «ВКЛ» и Громкость «–».

    При появлении лого LG отпустите кнопки и сразу заново зажмите.

    Держите до загрузки Recovery.


    Xiaomi

    Нажмите и удерживайте клавишу увеличения громкости и кнопку питания.


    При появлении меню, кликните по предпоследнему пункту справа. Язык изменится на английский.


    Теперь, чтобы перевести устройство в режим восстановления, в меню выберите раздел «recovery».


    Meizu

    Телефоны Meizu лишены «классического recovery». Здесь в меню присутствуют только два пункта: «System upgrade» (через него выполняется установка обновлений) и «Clear data» (очистка памяти).

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


    Lenovo

    На смартфонах Lenovo одновременно нажмите и удерживайте 3 кнопки: «ВКЛ» и обе клавиши регулировки громкости.


    Лежачий робот при входе в Recovery

    Если вместо меню Recovery на экране появляется лежачий Android и надпись «Команды нет» («No command»), нажмите на клавишу повышения громкости и кнопку питания. После этого загрузится Рекавери.


    Управление в Recovery осуществляется с помощью аппаратных клавиш. Чтобы перемещаться по пунктам, используйте кнопки громкости: перемещение вверх – это Громкость «Плюс», а вниз, соответственно, – Громкость «Минус». Выбор делается кнопкой питания.

    В меню Рекавери выберите пункт, отвечающий за сброс настроек – «Wipe data/factory reset».


    Дальше, чтобы подтвердить удаление данных, выберите «Yes – delete all user data».


    После завершения процесса очистки, в главном меню Recovery кликните на первый пункт «Reboot system now», чтобы перезагрузить устройство.


    Начнется загрузка Android, которая будет длиться дольше, чем обычно, как это и происходит после первого запуска смартфона. Данные с внутренней памяти будут удалены, а файлы с SD карты останутся.

    Разблокировка графического ключа с помощью ADB

    Следующее решение позаимствовано из топика на форуме 4PDA. Используя этот метод, удастся разблокировать графический ключ, не удаляя данные с телефона. Но для его реализации должна быть включена отладка по USB, и понадобится утилита ADB. Способ подойдет для устройств, работающих на старых версиях Android до 5.0. В новых прошивках используемая уязвимость исправлена.

    Если на устройстве не активирована отладка по USB, или версия Android – 5.0 и выше, это решение не для вас, переходите к следующему. А если и отладка включена, и прошивка подходящая, скачайте на компьютер архив с ADB, установщик Java и загрузите USB-драйверы с сайта производителя. Извлеките содержимое архива в корень диска «C:», установите Java и драйверы, после чего откройте папку «platform-tools» и, нажав клавишу «Shift», щелкните правой кнопкой мышки по пустой области. В списке опций выберите «Открыть окно команд» («Открыть окно PowerShell» в Windows 10).

    Копируйте и вставляйте по одной строке. Чтобы выполнить команду, каждый раз нажимайте «Enter» (в PowerShell перед adb добавьте ./ или .\ ):

    update system set value=0 where name='lock_pattern_autolock';

    update system set value=0 where name='lockscreen.lockedoutpermanently';


    Теперь перезагрузите смартфон и проверьте, остался ли графический ключ. Если да, попробуйте ввести любой узор. Если не сработало, выполните такую команду:

    adb shell rm /data/system/gesture.key

    adb shell rm /data/data/com.android.providers.settings/databases/settings.db

    В конце перезапустите устройство.

    Сброс пароля или графического узора через TWRP

    Предпоследний способ найден на сайте 4idroid. Как пишет автор, с его помощью можно удалить и пароль, и графический ключ, причем данные на телефоне останутся нетронутыми. Суть заключается в том, что на устройство устанавливается TWRP (кастомное Recovery), а потом через встроенный файловый менеджер удаляются файлы, отвечающие за блокировку экрана.

    Разумеется, решение подходит не для всех смартфонов, потому что на большинстве устройств, для установки TWRP, сначала необходимо разблокировать загрузчик, а эта процедура сотрет данные с внутренней памяти. Кроме того, на Android 7.0 и выше, сначала понадобится включить опцию «Заводская разблокировка» («OEM Unlock»), которая расположена в настройках в разделе «Для разработчиков».

    Установить TWRP, когда нет доступа к настройкам устройства, удастся на:

    Китайских смартфонах с процессорами MediaTek – они прошиваются через утилиту SP Flash Tool.

    Устройствах Samsung, которые «шьются» через программу Odin.

    Других телефонах с разблокированным загрузчиком, которые прошиваются с помощью утилиты Fastboot.

    Для прошивки Recovery на устройствах под управлением Android 7.0 и выше, также придется активировать функцию «Заводская разблокировка», но попасть в настройки на заблокированном телефоне никак не удастся. Поэтому, если вы пользуетесь смартфоном Samsung, работающим на Android 7.0 и новее, или устройством с чипом MTK на той же версии Android, этот способ вам тоже не подойдет.

    После установки TWRP, зайдите в него и в главном меню выберите раздел «Advanced».


    В меню «Advanced» нажмите на кнопку «File Manager».


    С помощью файлового менеджера зайдите в каталог «data/system» и удалите такие файлы (могут присутствовать не все):

    «gatekeeper.password.key» («password.key» в старых версиях Android);

    «gatekeeper.pattern.key» («gesture.key» в старых версиях Android);


    Чтобы удалить файл, щелкните по нему, нажмите «Delete» и сделайте свайп для подтверждения.



    Затем выберите «Reboot System» и нажмите «Do Not Install», если не хотите устанавливать официальное приложение TWRP.



    Удаление данных через сервис «Найти устройство»

    Google создали сервис «Найти устройство», через который можно удаленно управлять телефоном в случае его потери или кражи. Одна из доступных функций – сброс настроек. Чтобы его выполнить, на устройстве должен работать интернет.

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

    Дважды нажмите «Очистить устройство» и подтвердите удаление, выбрав «Очистить».




    Если смартфон подключен к сети, сразу же выполнится сброс настроек. Если интернет не работает, сброс произойдет после подключения к сети.

    Автор выражает благодарность Егору Плотницкому за помощь в написании данной статьи.

    На современных смартфонах пользователи хранят огромное количество данных, в том числе номера банковских карты и пароли от многих сервисов. Поэтому разработчики программного обеспечения уделяют огромное внимание безопасности, создавая всё более качественные средства защиты.

    Сейчас самым популярным способом разблокировки устройства является использование сканера отпечатка пальца. Также можно применять и разблокировку по лицу, но как показывает практика, на Android она менее безопасная. И если про эти варианты защиты знают практически все, то что такое Google Smart Lock на телефоне Android известно не каждому. Давайте разберемся, что это за программа, а также рассмотрим принцип её настройки.

    Что такое Smart Lock на Android

    Если внимательно посмотреть на название программы, то можно догадаться, что она каким-то образом связана с блокировкой смартфона. Так и есть, потому что Google Smart Lock – современная опция, позволяющая значительно облегчить разблокировку телефона. В основе работы сервиса лежит анализ поведения пользователя, то есть ведение статистики по посещённым местам, контактам с другими устройствами и прочим действиям. Система определяет уровень безопасности нахождения владельца, и на основании этого решает – включить блокировку экрана или нет.

    настройки Google Smart Lock

    Постараемся объяснить более подробно на простом примере. Например, вы часто находитесь дома, поэтому в этом месте блокировка применяться не будет. А вот при попытке разблокировать телефон где-нибудь в другом городе, а тем более в другой стране, будет активирована соответствующая защита. Также программа анализирует положение устройства в пространстве при помощи гироскопа или акселерометра. И если смартфон находится у вас в руках, то ввод пароля или графического ключа не потребуется.

    Как настроить Smart Lock

    1. Заходим в настройки.
    2. Переходим в раздел «Блокировка и защита» либо «Экран блокировки и безопасность». Опять-таки заметим, что названия пунктов в зависимости от установленной прошивки и версии Android могут отличаться.
    3. Открываем вкладку «Защита устройства» или «Тип блокировки экрана».
    4. Нажимаем по строке «Способ защиты» и выбираем нужный вариант блокировки.

    включение блокировки смартфона

    А теперь возвращаемся в раздел с настройками безопасности и находим в нём пункт «Smart Lock». Нажимаем по нему и видим список с настройками.

    настройка программы Smart Lock

    Давайте разберём каждый из вариантов защиты:

    • Физический контакт. Современная опция, основанная на использовании информации о перемещении устройства в пространстве. За основу здесь взят установленный в телефоне акселерометр или гироскоп. Программа анализирует данные с датчиков и определяет – держит ли человек смартфон в руке или нет.
    • Безопасные места. Утилита Google Smart Lock предлагает выбрать определённые безопасные места, где телефон не будет требовать ввода пароля. Это может быть ваш рабочий офис, любимое кафе или дом. Но стоит отметить, что для работы функции GPS должен постоянно находиться в работающем состоянии. Это совсем не хорошо, так как значительно влияет на расход аккумулятора.
    • Надежные устройства. Мы постоянно находимся в окружении многих устройств. Это и умные часы, Bluetooth колонка, магнитола автомобиля и прочие современные девайсы. Разработчики сервиса Smart Lock позволяют перенести все эти гаджеты в список надёжных устройств. Это позволит системе разблокировать телефон при нахождении рядом с этими девайсами.
    • Распознавание лиц. Подобный вариант разблокировки используют многие пользователи, поэтому его также можно активировать в настройках Google Smart Lock. Функция в принципе удобная, но не совсем безопасная. Иногда разблокировать телефон можно при помощи обычной фотографии его владельца.
    • Распознавание по голосу. Все, наверное, знают фирменного голосового ассистента от Google. Достаточно произнести команду «О’кей, Google» и помощник уже готов выполнять ваши требования. Аналогичная технология применяется в программе Smart Lock. Система запоминает голос владельца, а после произношения нужной команды разблокирует устройство.

    Как видим, вариантов настройки программы довольно много, поэтому каждый сможет сделать использование сервиса максимально удобным для себя.

    Как отключить Google Smart Lock

    Понятное дело, что программа Google Smart Lock нравится не всем, поэтому вопрос об её отключении всегда остаётся актуальным. На самом деле в этом нет ничего сложного, особенно если следовать рекомендациям пошаговых инструкций. Например, на смартфонах Xiaomi функция отключается следующим образом:

    1. Открываем настройки.
    2. Переходим в раздел «Расширенные настройки».
    3. Открываем вкладку «Конфиденциальность».
    4. Заходим в подкатегорию «Агенты доверия».
    5. Убираем галочку возле единственной строки «Smart Lock».

    отключение Google Smart Lock

    Что касается устройств с версией Android 5, то здесь принцип действий немного другой:

    1. Заходим настройки.
    2. Открываем вкладку с настройками аккаунта Google.
    3. Переходим в раздел «Smart Lock».
    4. Убираем галочку возле строки «Smart Lock для паролей».

    отключение Google Smart Lock на Android 5

    Чтобы включить функцию Smart Lock, достаточно проделать указания инструкций в обратном порядке.

    Таким образом, Google Smart Lock – программа, или лучше сказать опция, предназначенная для упрощения разблокировки смартфона. Она анализирует данные местоположения, расположения устройства в пространстве, голос пользователя, а также находящиеся рядом устройства. Для отключения функции достаточно убрать галочку с соответствующего пункта в настройках телефона.

    Читайте также: