Android apk system certificate

Android Certificate: Generate, Sign And Verify An Apk App

Apk signing has been a part of Android from the beginning of the Android evolution, and android requires all Apks should be signed before it can be installed on the device, There have been numerous articles regarding on how to generate a key and also how to sign an Apk, but we will be looking at it from a Security Perspective, After you decompile or reverse-engineer an Apk file, What file should you look into, To get more info about the Developer who originally sign the app.

Looking At A Decompile APK File

After you unzip the file or using apktool, depending on how you decompile the file, if you unzip the file, The file structure will look like this.

We are looking at the META-INF folder,
Looking at a decompile Apk using Apktool, It includes the certificates details about the developer and the type of hashing algorithm used and so on in the original folder and checking the META-INF folder.
Using keytool to check for the certificate while you are still currently in the META-INF folder.

depending on the name of your certificate alias name, You will see different information of the Owner, Country, Issuer, Certificate Validity from both the date the certificate is issue and when the certificate is set to be expired.
Certificate fingerprints in MD5, SHA1 and SHA256 and also the Signature algorithm used.

Before, I talk about Generating a certificate, lets look at it from security perspective, In analyzing an Android application which you download from third party web site, You can decompile the App and look at the certificate and compare it with the original App, Look at the hashing algorithm used, compare it if probably the application has been modified or tamper with, I wont be talking about analyzing an APK file but may be later.

Generating An Android Certificate

If you decompile your android application and compile it back, You will need to sign the app, and if you don’t sign it the Application wont be installed on the user device. There are different ways of generating a certificate but, we will look at three ways to generate a certificate using keytool.

Method 1:

Open your terminal:

where awwal — is the keystore name, alias — hafsa is the certificate alias name, which after you use it will be added to META-INF folder, -keysize 2048 , but you can use 4096 size, but there are issues regarding that from devices or so. but just use 2048, validity is in days.

Method 2:

Using apk-signer.jar which can be downloaded here https://shatter-box.com/knowledgebase/android-apk-signing-tool-apk-signer/
This is a GUI written in Java that allows generating a certificate and also signing an apk file. Though there’s also an Android App for that in Playstore.

Читайте также:  Профилировать gpu отрисовку android

Method 3:

I created a bash script that automate the task of using method 1, As method might require you installing Java Runtime, Just run the script i created which uses keytool and jarsigner.
Download the script here: https://github.com/ShehuAwwal/Apk-Signer

After that follow the instruction which will be prompted to generate your key.

Signing An Android Applicaiton

After you already generate your android application, we will look at how to sign the app, run your terminal:

Where -sigalg is the signature algorithm used, You can find some Apps using MD5 but use SHA1 as when you are verifying the app it will tell you the hashing algorithm used and how weak the algorithm used is.
keystore — awwal is the name of the keystore name used when generating the certificate, and hafsa is the alias name of the certificate, and medium.apk is the name of the app to be sign.
Note: if you MD5 the application will be treated as an unsign app because the algorithm use to sign the App is weak.

And the easier way is to use the Apk-signer.sh which i wrote to make the task easier.
Run the script, and press 2 for signing the app, Also completes also work there for file name and certificate name.

Or also you can make use of the apk-signer.jar also provide the options to sign the app.

Verifying An Android Application

Verify the app using jarsigner, to see the list of resources sign, the hashing algorithm with keysize.
Open your terminal:

where verify only will show either it is sign or unsign and using the verbose options to see the full details of the certificate.
Or you can use Apk-signer to verify the App with auto completion of file name.

Источник

Устройство не сертифицировано Google (Как снять блокировку Google Play)

вкл. 12 Апрель 2019 . Опубликовано в Android — Общее

Устройство не сертифицировано Google (Как снять блокировку Google Play). Как вы наверное уже знаете компания Google начала блокировку работы фирменных приложений, а на экране Android появляется ошибка «устройство не сертифицировано Google». Решаем эту проблему!

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

«Не сертифицированные устройства» — это различные малоизвестные китайфоны, а также кастомные прошивки, которые не провели сертификацию Android устройств в Google Play! В этой статье мы расскажем вам, как решить проблему, устройство не сертифицировано гугл!

Как проверить сертифицировано ли устройство?

1. Зайдите в магазин Google Play

2. Перейдите в меню «Настройки» и пролистайте страницу вниз

3. В конце будет информация сертифицировано ли ваше устройство Android или нет

узнаем сертифицировано ли устройство: переходим в настройки Google Play

Устройство не сертифицировано Google как обойти?

Или как сертифицировать?

Если у вас устройство не сертифицировано в Google и вы ищите как обойти или как сертифицировать Android, то вот что вам надо сделать:

Читайте также:  Тест батареи андроид код

1. Установите приложение Device ID

2. Откройте приложение Device ID, и скопируйте значения «Google Service Framework (GSF)»

копируем Google Service Framework (GSF)

3. Перейдите на страницу сертификации устройств Google , чтобы зарегистрировать устройство

4. Переходим на сайт конвертер и вставляем данные значения GSF и копируем отконвертированный номер с поля Decimal number

конвертируем «Google Service Framework (GSF)»

5. Вводим полученные значения с конвертера и жмем «Регистрация»

вставить конвертированные значения «Google Service Framework (GSF)»

6. Удалите данные приложения Google Play (в меню «Настройки» — «Приложения»)

удаляем данные Google Play

7. Удалить данные Cервисы Google Play (в меню «Настройки» — «Приложения»)

удаляем данные Сервисы Google Play

8. Повторите проверку сертификации, если ошибка остается, то выполните полный сброс настроек, «Настройки» -> «Восстановление и сброс» -> выбрать «Сброс настроек»:

сбрасываем настройки если сброс данных Google Play и Сервисов Google не помогли сертифицировать устройство

Источник

Подписывание пакета приложения для Android

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

В разделе Архивирование для публикации в диалоговом окне Канал распространения предлагается два варианта распространения. Выберите Прямое:

В разделе Архивирование для публикации в диалоговом окне Подписать и распространить. предлагается два варианта распространения. Выберите Прямое и нажмите Далее:

Создание нового сертификата

После выбора Прямое Visual Studio откроет страницу Удостоверение подписывания диалогового окна, как это показано на следующем рисунке. Для публикации. APK, сначала необходимо подписать ключ подписывания (также называемый сертификатом).

Можно использовать существующий сертификат, нажав кнопку Импорт, и затем продолжив с пункта Подписывание пакета APK. Если у вас еще нет сертификата, нажмите кнопку + для создания нового сертификата:

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

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

Полученное хранилище ключей находится в следующем расположении:

C:\Users\имя_пользователя\аппдата\локал\ксамарин\монодля псевдонима андроид\кэйсторе\ Alias . хранилище.

Например, при использовании chimp в качестве псевдонима вышеуказанные шаги создадут ключ подписи в следующем расположении:

C:\Users\имя_пользователя\Аппдата\локал\ксамарин\моно для андроид\кэйсторе\чимп\чимп.кэйсторе

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

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

Подробные сведения о хранилище сертификата см. в разделе Отображение MD5 и SHA1 сигнатур хранилища ключей.

Читайте также:  Cheats android no root

После нажатия кнопки Прямое Visual Studio для Mac откроет диалоговое окно Удостоверение подписывания Android. Для публикации .APK-файла его обязательно нужно подписать ключом подписи (также называемым сертификатом). Если сертификат уже существует, то для его импорта нажмите кнопку Импорт существующего ключа и перейдите к разделу Подписывание пакета APK В ином случае нажмите кнопку Создать новый ключ для создания нового сертификата:

Диалоговое окно Создание нового сертификата используется для создания нового сертификата подписи, который можно использовать для подписания приложений Android. После ввода всех необходимых сведений нажмите кнопку OK:

Полученное хранилище ключей находится в следующем расположении:

Например, вышеуказанные шаги создадут новый ключ подписи в следующем расположении:

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

Подробные сведения о хранилище сертификата см. в разделе Отображение MD5 и SHA1 сигнатур хранилища ключей.

Подписывание пакета APK

При нажатии кнопки Создать новое хранилище ключей (содержащее новый сертификат) будет сохранено и отобразится в списке Удостоверение подписывания, как это показано на следующем рисунке. Для публикации приложения в Google Play нажмите Отмена и перейдите к разделу Публикация в Google Play. Для публикации напрямую выберите удостоверение подписывания и нажмите Сохранить как, чтобы опубликовать приложение для независимого распространения. Например, на приведенном ниже рисунке выбрано созданное ранее удостоверение подписывания chimp:

Затем Диспетчер архивов отобразит ход выполнения операции. После завершения процесса публикации для выбора места сохранения сформированного .APK-файла откроется диалоговое окно Сохранить как:

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

После подписания файла щелкните Открытое распространение:

В результате проводник Windows откроет папку, содержащую сформированный APK-файл. На этом этапе Visual Studio завершает компиляцию приложения Xamarin.Android в APK-файл, готовый к распространению. На рисунке ниже изображен пример готового к публикации приложения MyApp.MyApp.apk:

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

Диалоговое окно Опубликовать напрямую перед публикацией отображает сводку по подписанному приложению. Проверьте правильность следующих сведений и нажмите Опубликовать.

С помощью диалогового окна Выходной APK-файл укажите путь для сохранения файла. Нажмите кнопку Сохранить.

Затем введите пароль сертификата (пароль, который был указан в диалоговом окне Создание нового сертификата) и нажмите OK:

APK-файл подписан сертификатом и сохранен по указанному пути. Нажмите Показать в Finder:

В результате откроется Finder с расположением подписанного APK-файла:

APK-файл готов к копированию из Finder в место назначения. Перед распространением рекомендуется установить APK-файл на устройство с Android и проверить работоспособность приложения. Дополнительные сведения о прямой публикации APK-файлов см. в разделе Независимая публикация.

Следующие шаги

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

Источник

Оцените статью