Обзор концепций безопасности
ОС Android требует, чтобы приложения были подписаны цифровыми сертификатами. Одним из преимуществ этого требования является то, что приложение невозможно обновить версией, опубликованной не автором исходной версии. К примеру, если мы опубликуем какое-то приложение, то вы не сможете выпустить свою версию его обновления (разве что вы каким-то образом заполучите наш сертификат). Но что значит для приложения его подписание? И как выглядит сам процесс подписания приложения?
Приложения подписываются цифровыми сертификатами. Цифровой сертификат — это данные, которые содержат информацию о вас, такую как название компании, адрес и т.д. Важными атрибутами сертификата являются его подпись и открытый и секретный ключи. Открытый и секретный ключи вместе называются также парой ключей. Здесь мы рассмотрим использование цифровых сертификатов только для подписания .apk-файлов, но вообще-то их можно применять и для других целей (например, для шифрованного обмена данными). Цифровой сертификат можно получить в доверенном центре сертификации (certificate authority — CA), но можно и сгенерировать самостоятельно с помощью таких средств, как keytool, которое мы рассмотрим чуть ниже. Цифровые сертификаты хранятся в хранилищах ключей. Хранилище ключей содержит список цифровых сертификатов вместе с их псевдонимами, которые можно использовать для обращения к сертификатам в этом хранилище.
Для подписания Android-приложения необходимы три вещи: цифровой сертификат, .apk-файл и утилита, которая умеет применять цифровой сертификат к .apk-файлу. Мы пользуемся бесплатной утилитой jarsigner, которая входит в состав дистрибутива Java Development Kit (JDK). Это средство работает в окне командной строки и умеет подписывать .jar-файлы с помощью цифрового сертификата.
А теперь давайте посмотрим, как подписать .apk-файл с помощью цифрового сертификата.
Добавить комментарий
Для отправки комментария вам необходимо авторизоваться.