как подписать приложения в телефоне
Создание подписи приложения с помощью Google Play App Signing
Поскольку ключ подписи используется для проверки того, что именно вы являетесь разработчиком приложения, и для обеспечения безопасных обновлений для ваших пользователей, обеспечение безопасности ключа очень важно как для вас, так и для пользователей. Существуют различные способы подписания своих приложений, один из таких мы рассмотрели в предыдущей статье.
Недавно Google добавил новую возможность хранить ключи: в своей собственной инфраструктуре благодаря Google Play App Signing. Основное отличие здесь заключается в том, что вы подписываете приложение специальным ключом загрузки, который Google проверяет и удаляет, заменяя его оригинальным ключом подписи приложения, который вы предоставили.
С его помощью можно управлять ключами подписи приложений как для новых, так и для опубликованных приложений, которые в свою очередь будут храниться у Google в их собственном хранилище ключей. Чтобы присоединиться к этой программе, необходимо подписаться на неё в своей Google Play Console. Стоит отметить, что в последствии отписаться от неё уже будет невозможно.
Таким образом, при подключении к Google Play App Signing происходит следующее:
Такой способ очень полезен, поскольку в случае, если вы потеряли хранилище ключей, Google Play App Signing позволит сбросить ключ для установки нового. Согласитесь, это намного проще, чем каждый раз публиковать приложение заново с новым именем пакета и ключом.
Попробуем, используя этот способ, опубликовать новое приложение : Менеджер системных приложений.
Для начала необходимо создать ключ загрузки, по которому Google будет проверять APK. Для этого средствами Android Studio через меню Build — Generate Signed APK создадим новое хранилище ключей, в котором будет содержаться наш ключ загрузки. Создание подписи приложения будет происходить с помощью Gradle, а файл, содержащий путь до хранилища и пароли, вынесем из проекта и будем хранить отдельно.
О том, как это можно сделать для своего приложения, можно почитать в данной статье.
Теперь перейдём в консоль разработчика. Создадим новое приложение и дадим ему название. После этого нужно перейти в «Версии приложения» — «Управление рабочей версией» — «Создать выпуск«. Здесь вам будет предложено подключиться к програме Google Play App Signing, нажимаем «Продолжить«.
Если перейти в «Подписи приложения«, то можно обнаружить, что был создан сертификат для подписи, однако сертификат загрузки остался пустым. Это потому, что мы ещё не загрузили первый подписанный APK файл.
Вернёмся в создание выпуска. После получения подтверждения о том, что мы подключились к программе, можно перейти к загрузке APK.
Здесь нужно загрузить APK файл своего приложения, подписанный ключом, который был создан выше. Этот ключ и станет ключом загрузки для приложения, которым вы должны будете подписывать все APK в будущем.
После того, как вы загрузите APK, подписанный ключом загрузки, его сертификат появится в «Подписи приложения«.
После заполнения всех необходимых полей в консоли и публикации приложения в Google Play, в приложении уже будет использоваться другой ключ подписи, который будет находиться у Google и отправляться пользователям при загрузке приложения из маркета.
Узнать, что приложение подписано Google, а не самим разработчиком, можно по следующему элементу метаданных, содержащемуся в тэге в файле манифеста:
Как сбросить ключ загрузки?
В случае, если вы потеряли свой ключ загрузки или он был похищен кем-либо, вы можете сбросить его в консоли разработчика. Чтобы сделать это, нужно:
Скачаем опубликованное приложение и посмотрим, что у него внутри. Для этого воспользуемся любым декомпилятором APK файлов.
Если открыть манифест приложения, то внутри можно обнаружить ту самую строку с метаданными, о которой мы говорили выше.
Данный идентификатор будет использоваться в инструментах отчётности об ошибках и по нему можно определить нужный APK-файл.
К сожалению, оптимизации APK не происходит, как было заявлено разработчиками. Google Play должен предоставлять оптимизированный APK с нужными локалями и плотностью экрана. Однако если посмотреть, что находится в ресурсах декомпилированного APK, то можно обнаружить там все локализации, которые были созданы для приложения, и разметки экранов с плотностью.
Кроме декомпилятора это также можно проверить утилитой aapt.exe (Android Asset Packaging Tool), которая входит в состав Android SDK. Для этого нужно ввести следующую команду:
Как подписаться, если приложение уже опубликовано?
В случае, если вы хотите подписать своё опубликованное приложение на Google Play App Signing, то вам нужно будет в консоли разработчика открыть проект приложения и затем выбрать «Управление релизом» — «Версии приложения«.
В открывшемся окне помимо различный вариантов сборок и версий вашего приложения должно появиться приглашение подключиться к Google Play App Signing.
Вам перекинет на страницу «Подписи приложений» с описанием программы. Вам нужно будет оттуда скачать утилиту PEPK и с помощью неё выполнить следующую команду, заменив выделенные участки на свои:
Эта утилита позволяет вам извлечь определённый ключ из хранилища ключей и экспортировать его в PEM сертификат. Для примера попробуем экспортировать ключ для другого приложения. После ввода команды нас попросят ввести пароли от хранилища и от ключа, и если всё завершится без ошибок, значит операция выполнена успешно.
Если PEPK выдаёт ошибку на неправильный alias, хотя вы полностью уверены, что он верен — попробуйте написать его только маленькими буквами, если в нём имеются заглавные.
Затем на той же странице в консоли разработчика нужно нажать на «Закрытый ключ для подписи приложения» и выбрать наш созданный сертификат. Таким образом Google поймёт, что именно мы являемся разработчиком приложения. После этого можно приступать к созданию ключа загрузки, по которому в будущем будет происходить публикация всех APK-файлов.
Для этого нужно создать ключ тем же способом, каким мы создавали его в начале статьи. Затем с помощью стандартной утилиты Java под названием Keytool нужно будет экспортировать ключ в PEM сертификат с помощью следующей команды:
На странице консоли разработчика нажимаем «Сертификат открытого ключа загрузки» и выбираем созданный сертификат с ключом загрузки.
После проделанных операций у нас станет активна кнопка «Зарегистрировать», нажимаем её и, если нет никаких ошибок, Google Play App Signing будет подключён к вашему приложению и вы увидите отпечатки сертификата.
Теперь вы можете загружать новые APK, подписывая их своим ключом загрузки, после чего Google будет заменять его на ключ из собственного хранилища.
Новая технология от Google немного облегчила жизнь разработчикам, будем жать, когда она действительно облегчит выходной APK-файл.
Создание подписи приложения с помощью Google Play App Signing : 2 комментария
Почему-то обошли вниманием самое важное: как указать свой первый ключ загрузки. В документации написано что после нажатия на кнопку «продолжить» запускается некий Enrollment Process в котором можно скачать Play Encrypt Private Key tool, экспортировать ключ и загрузить этот ключ на сервер.
У меня оно просто сказало «Молодец, теперь будет использоваться GPAS» и не дает загружать никакие APK.
Ну и стоит написать что вернуться на обычный способ подписи можно только через удаление приложения и создание его заново.
Ситуация аналогична с Константином, читал пост с надеждой найти ответ.
Как подписать документ на Android
Не знаю, как часто вам приходится работать с документами, но для меня, как для индивидуального предпринимателя, — это совершенно обыденное дело. Регулярно мне на подпись поступают счета, которые нужно завизировать и отправить контрагенту, который находится в другом городе. В теории для этого можно было применить обычную почту и, по старинке распечатав и подписав документацию, просто отправить её заказным или обычным письмом. Но ведь для этого нужно не только распечатать счета, но ещё и купить конверт, не говоря уже о том, чтобы дойти до почтового отделения.
Подписать документ на Android и отправить проще, чем возиться с почтой
Как смотреть жуков, бабочек и других насекомых в 3D в Google
Я нашёл выход из сложившейся ситуации в электронной подписи. Но не той, которая требуется для совершения значимых операций по части налоговой инспекции и называется электронной квалифицированной подписью, а той, которая позволяет поставить ваш автограф на документе в формате PDF и отправить его по электронной почте. В принципе, можно не заморачиваться и поставить подпись в каком-нибудь редакторе, чирканув её мышкой или стилусом, но ведь у нас всё по-взрослому.
Как подписать PDF-документ
Редактировать и подписывать документы на Android проще простого
Эта подпись сохранится и для будущего применения
Вставьте подпись и отправьте документ контрагенту
Как скачать обои из прошивки Galaxy Note 20
Вот, собственно, и всё. На этом вы можете сохранить документ и отправить его контрагенту. Несмотря на то что подпись будет чёрного цвета, а не синего, как если бы её поставили шариковой ручкой, такие документы принимают не только контрагенты, но и госорганы, не говоря уже обо всех остальных. Правда, прежде чем отправлять кому-то такой документ, лучше всё-таки уточнить, как получатель относится к такого рода подписям – во всяком случае, если вы не хотите потом переделывать документ заново.
Как работать с PDF на Android
Ищете инструмент для работы с PDF на Android? Нет ничего лучше Adobe Acrobat Reader
Adobe Acrobat Reader – это бесплатное приложение, которое представляет собой PDF-ридер. Он позволяет с удобством взаимодействовать с документами, не только подписывая их для контрагентов, но и искать по содержимому, выделять, копировать, редактировать и вносить разного рода изменения. В общем, если вы работаете с документами на смартфоне, придумать лучшего инструмента просто нельзя. А благодаря совместимости с облаком Adobe Cloud, которое позволяет хранить всю документацию онлайн, это вообще один из лучших сервисов Adobe.
Google сделала резервные копии на Android удобными и бесплатными
Важно понимать, что таким образом можно подписывать любые документы, но они обязательно должны быть в формате PDF. Впрочем, если ваш документ имеет другой формат, — это не проблема. Вы можете конвертировать его в нужный, посредством популярных онлайн-конвертеров вроде ilovepdf. Я сам пользуюсь им уже очень давно, и абсолютно доволен как удобным интерфейсом, так и интуитивностью работы сервиса. Всего-то и нужно, что перетащить в окно браузера нужный вам документ и подтвердить конвертацию.
В последнее время много шума вокруг приложения GetContact. Это приложение для смартфонов позволяет узнать, под каким именем записан ваш номер телефона в контактах у других людей. Но взамен он выгружает ваши контакты и пополняет ими свою базу данных.
Работа парализована, мы полдня пробивали всех знакомых =)))
Мой личный топ (имена изменил):
— Сергей Муж Иванковой
— Антон Колодки На Мерседес
— Алексей Ёлкин Друг Лёшки Моего
А какие интересные варианты у вас?
Если нашли себя в списке, удалиться можно тут (осторожно, сервис ломится в фейсбук): https://www.getcontact.com/unlist
Информационная безопасность
1.2K постов 22.7K подписчиков
Правила сообщества
Обязательно к прочтению для авторов:
Обязательно к прочтению для всех:
Добавление ссылки разрешено если она не содержит описание коммерческих (платных) продуктов и/или идентификаторов для отслеживания перехода и для доступа не нужен пароль или оплата в т.ч. интернет-ресурсы, каналы (от 3-х тематических видео), блоги, группы, сообщества, СМИ и т.д.
Запрещены политические holy wars.
По решению модератора или администратора сообщества пользователь будет забанен за:
1. Флуд и оскорбление пользователя, в т.ч. провокация спора, флуда, холивара (высказывание без аргументации о конкретной применимости конкретного решения в конкретной ситуации), требование уже данного ответа, распространение сведений порочащих честь и репутацию, принижающих квалификацию оппонента, переходы на личности.
2. Публикацию поста/комментария не соответствующего тематике сообщества, в том числе обсуждение администраторов и модераторов сообщества, для этого есть специальное сообщество.
3. За обвинение в киберпреступной деятельности.
Как подписать ваше гибридное мобильное приложение для размещения в Google Play
Итак, вы трудились много дней (а может и ночей), и вот ваше первое гибридное мобильное приложение готово. Оно достаточно стабильно, большинство критичных багов закрыто. Остались мелкие, но помня о том, что перфекционизм — зло, вы принимаете волевое решение выложить приложение.
Необходимое условие для этого — наличие подписанного APK файла. Как подписать apk файл, вы узнаете из этой статьи.
Небольшое отступление
Когда мой pet project вплотную приблизился к релизу, я начал искать информацию о том, как быстро и без боли опубликовать приложение. Множество найденных инструкций выглядели простыми. Я выбрал инструкцию авторов фреймворка Ioniс, на котором и разработано приложение. Не все получилось с первого раза, есть несколько особенностей. Процесс подписывания описан в этой статье, важные моменты особо выделены.
Исходные данные
Я предполагаю, что у вас настроено все необходимое для разработки гибридных мобильных приложений с помощью Apache Cordova. Должно быть установлено:
Поехали
Для начала нужно создать релизный билд вашего приложения. Но перед этим, давайте убедимся, что все лишние плагины удалены. Например, нам не нужен плагин, который выводит отладочную информацию в консоль. Удалим его:
Для генерации релизной сборки под Андроид используем команду build с флагом —release:
Эта команда создаст неподписанный APK файл в каталоге:
Например, platforms/android/build/outputs/apk/android-release-unsigned.apk. Потом нам понадобится подписать этот файл и запустить утилиту zipalign для оптимизации и подготовки файла для Google Play.
Для подписывания файла нужен сертификат. Создадим его с помощью утилиты keytool, которая включена в JDK:
Алиас используется каждый раз при подписывании* приложения. Чтобы было проще запомнить, в качестве алиаса используйте имя keystore файла, например:
* Подписывать приложение нужно при каждом выпуске обновлений
Утилита keytool задает ряд вопросов. Всего их будет 8. Чтобы заранее иметь представление о вопросах и примерных ответах, все они приведены далее, под спойлером.
1. Enter keystore password:
Здесь необходимо ввести пароль для файла (не менее 6 символов). Введенный пароль нужно записать в надежном месте, он нужен всякий раз при подписывании приложения.
2. Re-enter new password:
Повторный ввод пароля.
3. What is your first and last name?
[Unknown]: Ivan Petrov
Ваше имя и фамилия. Значение в квадратных скобках — это значение по умолчанию.
4. What is the name of your organizational unit?
[Unknown]: IT
Название подразделения вашей компании. Можно оставить пустым, я указываю IT.
5. What is the name of your organization?
[Unknown]: 2developers
Название вашей организации. Укажите, если есть.
6. What is the name of your City or Locality?
[Unknown]: Moscow
Название города
7. What is the name of your State or Province?
[Unknown]: MO
Название области
8. What is the two-letter country code for this unit?
[Unknown]: RU
Код страны. Я указываю RU.
Далее будет предложено проверить введенную информацию:
Is CN=Ivan Petrov, OU=IT, O=2developers, L=Moscow, ST=MO, C=RU correct?
Подтверждайте, если все верно или нажмите Enter, чтобы ввести еще раз.
В конце появится сообщение об успешной генерации ключа. Будет предложено задать пароль для приватного ключа (если хотите оставить такой же, как и для сертификата — нажмите Enter):
В текущем каталоге будет создан файл lcf.keystore.
Созданный файл нужно сохранить в надежном месте. Если вы используете закрытый репозиторий, то файл можно закоммитить вместе с исходными кодами приложения. В общем случае, сертификаты лучше хранить отдельно. В случае утери сертификата вы не сможете выпускать обновления приложения.
Осталось два шага, и вы получите готовый к распространению APK файл. Переходим непосредственно к подписыванию.
Чтобы подписать ваш apk файл, используйте утилиту jarsigner, которая тоже включена в JDK.
Имя сертификата указывается после параметра -keystore, алиас — после имени файла.
Наконец, для оптимизации apk файла, воспользуемся утилитой zipalign:
Последний параметр — это имя файла, который вы будете загружать в Google Play.
Утилита zipalign это часть Android SDK Tools и может быть найдена здесь:
Появилось приложение, которое позволяет узнать, как ваш телефон записан у друзей. Его проверяет Роскомнадзор
В российском интернете уже несколько дней обсуждают GetContact — приложение, позволяющее узнать, как тот или иной контакт записан в телефонных книжках у других людей. Оно уже возглавило топ бесплатных приложений на российском App Store и заняло седьмое место в Google Play.
На самом деле, основная функция GetContact (по словам разработчиков) — определять неизвестные номера и, соответственно, блокировать нежелательные звонки. Но пользователей больше всего заинтересовала возможность «пробить» свой номер, и они стали массово делиться в соцсетях своими «телефонными» именами.
Спорим вы сейчас все отсосете со своими GetContact?)
Я в истерике. Сначала ты самая лучшая, а потом хер знает откуда pic.twitter.com/XZ1nMRGZiZ
Некоторые пользователи стали проверять номера своих друзей, подруг и бойфрендов. А азербайджанские СМИ рассказали истории женщин, которые с помощью GetContact узнали об изменах своих мужей.
дамочки, поздравляю. мы вышли на новый уровень шпионажа проверяя как он подписан в контактах у других с помощью приложения GetContact
Как работает приложение?
Чтобы узнать, как ваш номер телефона записан у друзей и знакомых, достаточно вбить его в поиск. Проверять можно и чужие номера — однако приложение, как выяснилось, определяет далеко не все из них.
Чтобы определить неизвестный номер, его также нужно ввести в поиск. После этого приложение, по задумке разработчиков, покажет имя и фотографию его владельца (мы проверили эту функцию и выяснили, что GetContact определяет только имя).
А это безопасно?
Запуская GetContact, вы даете приложению доступ к своей телефонной книге, данные которой попадают на сервер компании. В правилах приложения говорится, что GetContact может делиться любой информацией пользователя «с третьей стороной», а также отправлять сообщения по почте или SMS, связываться с пользователем по телефону, а также совершать «маркетинговые активности, разрешенные законом».
Как удалить аккаунт?
На сайте компании есть страница Unlist, в которую можно ввести свой номер телефона, и в течение суток он будет удален из базы данных.
Тем, кто установил приложение, нужно удалить сам аккаунт в настройках приложения.