Подписка APK на Google Play

  1. Основные положения электронной подписи приложений
  2. Способы генерации ключей подписи и хранилища ключей
  3. Разница между хранилищами *.jks и *.keystore
  4. Ручная подписка APK
  5. Подписка APK на Google Play
  6. Соображения подписи, безопасности и удаление подписки из сборки APK
  7. Автоматизация процесса подписи на этапе сборки APK
  8. Автоматизация подписи гибридных приложений Android

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

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

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

О программе подписания приложений Google Play

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

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

Важно! Регистрацию в программе подписания приложений Google Play нельзя отменить.

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

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

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

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

Типы ключей и определения
  • Ключ подписи приложения – ключ, которым подписывается APK-файл на устройстве пользователя. Пока вы не зарегистрировались в программе подписания приложений Google Play, этот ключ находится у вас, и вы подписываете им APK-файлы. После регистрации в программе вам потребуется загрузить его в Google.
  • Ключ загрузки – новый ключ, который вы создаете при регистрации в программе. В дальнейшем вы будете подписывать им все APK-файлы перед их загрузкой в Play Console.
  • Закрытый ключ – ключ, который используется для подписи APK-файлов. Он доступен только вам.
  • Открытый ключ – ключ, который используется для подтверждения подписи APK-файла. Он доступен для всех.
  • Сертификат – файл, который содержит открытый ключ, а также дополнительную информацию о владельце ключа.
  • Инструмент PEPK – используется для экспорта закрытых ключей из хранилища Java и их шифрования для передачи в Google Play при регистрации в программе подписания приложений Google Play.
Рекомендации
  • Чтобы защитить аккаунт разработчика, включите двухэтапную аутентификацию для всех аккаунтов, у которых есть доступ к Play Console.
  • Если вы хотите протестировать APK-файл, подписанный ключом загрузки, зарегистрируйте ключ в службе или API, которые используют подпись приложения для аутентификации (например, API Google Карт или пакете разработчика Facebook). Если вы используете API Google, можно зарегистрировать сертификат загрузки в Google Cloud Console.

Обзор шагов по использованию программы подписки Google App Play

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

Если вы публикуете новые приложения

  1. Воспользуйтесь инструкциями на этой странице.
  2. Подпишите новый APK-файл ключом загрузки.
Информация о ключе загрузки
  • Ключ загрузки регистрируется только в Google и нужен для того, чтобы подтвердить личность создателя приложения.
  • Ваша подпись удаляется из всех загруженных APK-файлов, прежде чем они попадают к пользователям.
Ограничения
  • Ключ загрузки должен использовать шифрование RSA и быть не менее 2048 битов.
  • Не поддерживаются ключи DSA и EC, а также ключи RSA размером менее 2048 битов.

  1. Откройте Play Console.
  2. Выберите приложение.
  3. В меню слева выберите Управление релизом > Версии приложения.
  4. Напротив пункта «Программа подписания приложений Google Play» нажмите Принять.

Шаг 3. Загрузите подписанное приложение.

  1. Подготовьте и внедрите версию.
  2. Google удалит подпись ключа загрузки и подпишет приложение с помощью нового ключа. После этого оно станет доступно пользователям.

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

Чтобы найти сертификат ключа, который Google использует для подписи APK-файла:

  1. Войдите в Play Console.
  2. Выберите приложение.
  3. В меню слева нажмите Управление релизом > Подписи приложений.
  4. На открывшейся странице доступны наиболее распространенные отпечатки для сертификата цифровой подписи (MD5, SHA-1 и SHA-256). Если поставщик API требует другой тип цифрового отпечатка, вы можете скачать оригинальный сертификат в формате DER и преобразовать его нужным образом.

Если вы уже опубликовали свои приложения

Вот как зарегистрировать приложение:

  1. Войдите в Play Console.
  2. Выберите приложение.
  3. В меню слева нажмите Управление релизом > Подписи приложений.
  4. Ознакомьтесь с Условиями использования и выберите Принять.

Выполните следующие действия:

  1. Найдите исходный ключ подписи приложения.
  2. Войдите в Play Console.
  3. Выберите приложение.
  4. В меню слева нажмите Управление релизом > Подписи приложений.
  5. Следуя инструкциям на экране, загрузите исходный ключ подписи, а затем создайте ключ загрузки и зарегистрируйте его в Google.
  6. На следующем экране вы увидите цифровой отпечаток сертификата своего приложения.
Информация о ключе загрузки
  • Ключ загрузки регистрируется только в Google и нужен для того, чтобы подтвердить личность создателя приложения.
  • Ключ загрузки удаляется из всех загруженных APK-файлов, прежде чем они попадают к пользователям.
Ограничения
  • Ключ загрузки должен использовать шифрование RSA и быть не менее 2048 битов.
  • Не поддерживаются ключи DSA и EC, а также ключи RSA размером менее 2048 битов.

Создав ключ загрузки, выберите для него хранилище. Вот некоторые возможные варианты:

  • локальная система;
  • защищенный локальный сервер (с различными списками контроля доступа);
  • облачная система (с различными списками контроля доступа);
  • специальные сервисы по управлению ключами;
  • репозитории Git.

Шаг 4. Подпишите следующее обновление своего приложения ключом загрузки.

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

Вот как найти ключ загрузки:

  1. Войдите в Play Console.
  2. Выберите приложение.
  3. В меню слева нажмите Управление релизом > Подписи приложений.

Изменения в APK-файлах

Файл AndroidManifest.xml приложений, подписанных Google, будет содержать запись «derived APK ID». В теге application появится элемент метаданных, который ссылается на

<meta-data android:name="com.android.vending.derived.apk.id" android:value="[ID]" />

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

Чтобы скачать APK-файл, подписанный Google Play, откройте Play Console и выберите Управление релизом > Библиотека объектов.

Утерянные или взломанные закрытые ключи

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

  • утери;
  • взлома закрытого ключа.

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

Как сбросить ключ загрузки

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

Затем экспортируйте сертификат для нового ключа в формате PEM.

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

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

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

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

Вам также может понравиться

Об авторе WebSofter

Web - технологии

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...