Как устройства Android получают открытые ключи разработчиков?

Система Android требует, чтобы все установленные приложения подписывались цифрой с сертификатом, чей закрытый ключ хранится разработчиком приложения. Как конкретно публичный ключ распространяется на клиентские устройства Android? Является ли открытый ключ содержащимся в apk, когда разработчики выпускают приложение? Если да, то где хранится ключ?

Или Android- рынок, например Google, держит список идентификаторов разработчика вместе с соответствующим открытым ключом и нажимает правый ключ на клиентские устройства при загрузке приложения?

Есть ли какие-либо документы, передающие эту информацию?

Большое спасибо за любые входы.

Solutions Collecting From Web of "Как устройства Android получают открытые ключи разработчиков?"

Открытый ключ распространяется в файле apk. Если вы распакуете файл apk, вы можете найти там специальную папку META-INF, в которой содержится вся информация о сигнатуре. В основном вам необходимо изучить файлы с расширениями * .RSA и * .DSA, которые содержат подпись пакета вместе с открытым ключом.

Вы можете прочитать эти две статьи ( один , два ), чтобы понять процесс

http://developer.android.com/google/play/licensing/adding-licensing.html#account-key

Некоторые части ссылки разрешат ваш вопрос. Вставьте свой открытый ключ для лицензирования.

Для каждого приложения служба Google Play автоматически генерирует 2048-разрядную пару открытых и закрытых ключей RSA, которая используется для лицензирования и выставления счетов в приложении. Пара ключей однозначно связана с приложением. Хотя это связано с приложением, пара ключей не совпадает с ключом, который вы используете для подписи своих приложений (или полученных из него).

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

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

Перейдите в консоль разработчика Google Play и войдите в систему. Убедитесь, что вы вошли в учетную запись, из которой опубликовано (или будет опубликовано) приложение, лицензирование которого вы лицензируете. На странице сведений о приложении найдите ссылку «Службы и API» и нажмите на нее. На странице «Службы и API» найдите раздел «Лицензирование и включение в приложение». Ваш открытый ключ для лицензирования указан в поле «Лицензионный ключ для этого приложения». Чтобы добавить открытый ключ к вашему приложению, просто скопируйте / вставьте строку ключа из поля в ваше приложение в качестве значения переменной String BASE64_PUBLIC_KEY. Когда вы копируете, убедитесь, что вы выбрали всю строку ключа, не опуская никаких символов.

Вот пример из заявки на выборку LVL:

public class MainActivity extends Activity { private static final String BASE64_PUBLIC_KEY = "MIIBIjANBgkqhkiG ... "; //truncated for this example ... } 

Вот пример, выполните шаги 1-8 в разделе «Получение сертификата». Это не просто учебник Google API, он охватывает ключевое подписание, которое вам нужно в той одной секции, о которой я говорил.
Там есть ссылка на ключи отладки и Release для разработки Android, которые предоставляют дополнительную информацию о сайте разработки Android.

LINK: Android Signing Keys и Google Map API Key

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

Затем он проверяется на подпись вашего apk: http://developer.android.com/google/play/licensing/adding-licensing.html#account-key


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

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

Некоторые подробности здесь: http://developer.android.com/tools/publishing/app-signing.html