Как подписать приложение symbian
Операционная система Symbian 9.0 была анонсирована в 2004 году, а уже год спустя на новой версии ОС появились первые устройства. Использовали они вышедший к тому времени апдейт Symbian 9.1, который является улучшением базовой версии. В настоящее время в продаже появились устройства на более новых версиях этой операционной системы, включающей feature pack, добавляющих новые возможности базовой версии. Но для всех пользователей принципиальным стал как раз переход с Symbian Second Edition на Symbian Third Edition. Принципиальным именно потому, что вследствие внедрения новой системы безопасности программы, предназначенные для Symbian 7-8 работать на новой версии Symbian 9 (и выше) не могут. Первое время все пользователи ощущали заметный недостаток программных продуктов для новой версии ОС, однако он был очень быстро преодолен. Разработчики выпустили новые версии своих программных продуктов, или портировали их на новую операционную систему. Речь идет в основном о платформе Symbian S60, но и для Symbian UIQ3 ситуация совершенно аналогичная. С той лишь разницей, что программных продуктов для аппаратов на основе UIQ3 на порядок меньше, чем для S60. Основная причина такого положения – намного меньшая распространенность телефонов под управлением UIQ. Как только предложение таких устройств вырастет, я уверен, что и положение с программными продуктами изменится коренным образом.
Дальнейшее повествование ни в коей мере не претендует на руководство для разработчиков – им описанные ниже вопросы известны очень хорошо. Речь пойдет о сертификатах и способах их получения обычным пользователем, которому иногда приходится прибегать получения собственного сертификата и ключа для конкретного телефона. Все дело в том, что предложенная система безопасности требует от разработчиков получения так называемого сертификата безопасности, без которого приложение просто не будет установлено.
Кстати, тем, кто сталкивался с проблемами при установке приложений, сразу рекомендую заглянуть в раздел Tools – Settings –Application Manager и в настройках диспетчера приложений (чекбокс «Проверка сертификатов») перевести флажок в положение «Отключено».
Что такое сертификат безопасности и зачем он нужен
Операционная система Symbian 3rd Edition жестко ограничивает возможность обращения приложения к различным функциям API, которые, по мнению разработчиков, могут иметь критическое значение для работоспособности всей системы. Подход, безусловно, правильный, однако для продвинутых пользователей, привыкших вольно обращаться с системными папками и данными в них, он стал сюрпризом. Следствием такого решения стали странности при попытке резервного копирования и последующего восстановления данных, о которых шла речь в соответствующем материале.
Сертификаты для ОС Symbian бывают нескольких типов. Мы рассмотрим возможность самостоятельного получения сертификата разработчика - Developer certificate (devcert), который предназначен для тестирования программ на конкретном аппарате перед отправкой программы на подпись в компанию Symbian. Другие типы сертификатов малоинтересны вследствие ограниченных функций (Self-signed) или выдаются после подписи приложений в Symbian (Symbian Signed). Последний сертификат может выдаваться бесплатно (для приложений, не предполагающихся к коммерческому распространению) или стоить разработчикам денег. Но в любом случае, перед отправкой приложения на подпись в компанию его предварительно тестируют, используя сертификат типа «devcert». Он позволяет установить программу на смартфон с единственным номером IMEI и получить доступ к большому количеству функций API. При всем этом его может получить бесплатно любой желающий при выполнении нехитрых процедур.
Наиболее полным является сертификат Phone Manufactured devcert, обеспечивающий доступ ко всем API функциям. Данный сертификат не требуется даже большинству разработчиков – для работы программ вполне достаточно иметь сертификат Symbian Signed.
Несколько слов о том, для чего может потребоваться такой сертификат. Наиболее характерный пример – один из лучших файловых менеджеров для S60 – FExplorer, разработчиком которого является Hugo Dominique. Программа была описана в обзоре файловых менеджеров для платформы S60. На сайте разработчика выложена новая версия, срок действия которой истекает в августе 2007 года. И версия эта не подписана. Следовательно, установлена на смартфон быть не может. Поскольку этот файловый менеджер действительно хорош, то мне и пришлось подписать его самостоятельно. Изложение всего процесса изложено ниже.
Создание запроса на получение Developer certificate
Первый шаг в получении такого сертификата заключается в регистрации на этом сайте и установке на компьютер приложения DevCertRequest, позволяющего создать запрос на получение сертификата.
После установки приложения мы видим следующее окно. Процесс создания запроса состоит из пяти стадий. На первом этапе необходимо ввести название для вашего сертификата и указать папку для его размещения.
Шаг второй. Отказываемся от «ACS Pub Id available», вводим путь к папке, в которой будет храниться полученный ключ (удобно выбрать ту же папку, что и для сохранения сертификата). Пароль можно указать, а можно и не вводить, оставив это поле пустым.
Шаг третий. Заполняем таблицу в следующем окне в произвольной форме.
Шаг четвертый. В верхнее поле вводим IMEI телефона, для которого будет получен сертификат. Обратите внимание, что указанный тип сертификата допускает введение только одного номера IMEI. После введения номера отмечаем необходимые возможности в правой части окна и добавляем их в возможности приложения. По умолчанию выбраны все возможности, остается только нажать кнопку «Добавить».
Шаг пятый. Последний. Проверяем правильность заполнения всех данных, и завершаем работу мастера. При желании можно просмотреть лог созданного запроса.
Промежуточный итог
В результате выполнения описанных действий мы создали запрос на получение сертификата и файл-ключ для конкретного аппарата. Эти данные используются для непосредственного получения сертификата, которым можно будет подписывать приложение.
Получение сертификата
Получив файл запроса и файл-ключ, возвращаемся на сайт под своим именем и заходим в раздел Developer Certificates- Request (находится на вкладке My Symbian Signed). В этом разделе вводим путь к файлу запроса и код подтверждения, указанные на странице. В результате появляется окошко с информацией о созданном сертификате. В этом окне указывается и срок окончания его действия. Сертификат, полученный подобным образом, имеет срок действия полгода. Сохраняем полученный сертификат на ПК (его лучше сохранять в папку с созданным запросом и ключевым файлом). Полученный сертификат должен иметь расширение *.ser.
Подпись приложений
1. Подпись из командной строки
Для подписи приложения из командной строки все необходимое у нас уже имеется. Для упрощения работы создадим пакетный файл (*.bat – для тех, кто забыл, что такое DOS J).
Но перед этим поместим в общую папку приложение, которое необходимо подписать, файл сертификата, файл ключа и утилиту signsis. Затем в блокноте создаем текстовый файл следующего содержания:
signsis название_неподписанного_приложения.SIS название_подписанного_приложения.SIS название_сертификата.cer название_ключа.key пароль.
Выглядеть такая строчка в случае программы FExlorer должна следующим образом:
signsis FExplorer_english_3ed_116b_unsigned.SIS FExplorer_signed_n80.sis viktord.cer viktord.key 1234567890.
Последняя цифровая последовательность – это пароль.
Созданный текстовый файл сохраняем с названием auto_signsis.bat и помещаем в ту же папку.
Теперь из окна любого файлового эксплорера запускаем BAT файл на исполнение и получаем подписанный файл. Этот файл можно устанавливать на смартфон, но еще раз подчеркну – файл установится только на тот аппарат, IMEI которого прописан в сертификате. Полученным сертификатом можно подписать любое приложение в течение всего срока действия. Получать сертификат на каждую программу не нужно. Соответственно, если вы имеете несколько устройств, то для каждого из них потребуется собственный файл ключа и сертификата.
Для тех, кто не хочет разбираться в консольных командах, существует несколько графических оболочек, облегчающих процесс создания подписанного файла. Одну из таких программ можно найти на этом сайте. Ссылка на вторую находится в файле помощи к подписи FExplorer. То есть программ такого типа достаточно много и можно пользоваться любой из них.
В программе SIGNTool с сайта необходимо просто заполнить указанные поля, указав в них пути к требуемым файлам. На выходе мы получаем подписанный файл, который можно устанавливать на смартфон.
Небольшие выводы
Описанная процедура позволит вам подписать и установить на смартфон любое приложение, которое разработчики по тем или иным причинам не посчитали нужным подписывать самостоятельно. К таким программам, в основном, относятся бета версии, которые выкладываются в сеть для массового тестирования. Как правило, такие программы впоследствии пополняют раздел платных утилит – то есть для них разработчики получают сертификат типа Symbian Sign для платного распространения. В описанном же случае подполека событий была простой – у ранее подписанного файлового менеджера FExplorer закончился срок действия прежнего сертификата, и новую версию пришлось подписывать заново. Текущая версия действительна до конца августа, а, следовательно, примерно через два месяца процедуру придется повторить.
Любителям взломанных приложений хотим сообщить, что компания Symbian прекратила выдачу сертификатов на неопределенный срок. Для получения сертификата необходимо сообщить свой логин, имя и фамилию, название и версию приложения, название и адрес компании. Полученные ранее сертификаты продолжают действовать в течение срока их выдачи.
Прежде всего, Вам необходимо заказать и получить сертификат.
Одним из способов заказа и получения сертификата является On-line Сервис заказа сертификатов на сайте Allnokia .
Для заказа сертификата Вам необходимо:
Скачиваете полученный по ссылке архив с сертифкатом и ключом. Распаковываете на смартфоне в любую удобную для Вас папку.
Теперь Вам необходиио скачать приложение, с помощью которого Вы сможете подписывать программы прямо на своем смартфоне.
Скачиваем [attachment=2]. Распаковываем архив в любую удобную для Вас папку на смартфоне и устанавливаем приложение. Устанавливать можно на любой диск, т.е. как в память телефона, так и на карту памяти.
Запускаем приложение FreeSigner.
1. Первым делом Вам необходимо выставить настройки программы для подписи, указать пути к сертификату и ключу. Для этого переходим в пункт меню Функции - Параметры .
Внимание: Первые три пункта Вы пропускаете!
Эти пункты, где указано Self Sign, относятся к подписи общим сертификатом, который не имеет достаточных прав для установки многих приложений, а пригодится лишь для подписи, например, тем оформления и русификаторов.
Пропускаем эти три пункта, оставив их без изменений:
- Self Sign Cert
- Self Sign Key
- Self Sign Key Pass
Далее идут следующие три пункта, которые нам и необходимо будет изменить:
* Sign Cert
* Sign Key
* Sign Key Pass
Эти пункты отвечают за путь к Вашу личному сертификату, выданному под ваш IMEI. И именно их нам сейчас будет необходимо настроить.
Выбираем пункт Sign Cert и жмем джойстик по центру. В открывшемся окне выбираем путь к нашей папке, куда мы распаковали наш архив с сертификатом. Выбираем диск, где расположена ваша папка с сертификатом, затем директорию на этом диске. В указанной папке выделяем ваш файл сертификата (cer).
В результате этих действий в окне Параметры для пути к сертификату отобразится имя выбранного Вами на этом шаге сертификата.
Повторяем те же действия и для параметра ключа. Выбираем пункт Sign Key и жмем джойстик по центру. В открывшемся окне выбираем путь к нашей папке (переходим в ту же самую папку, где Вы выбирали файл сертификата, т.к. файл ключа для вашего сертификата находился в одном архиве с сертификатом, следовательно и распакованы они были в одну папку) В указанной папке выделяем ваш файл ключа (key).
В результате этих действий в окне Параметры для пути к ключу для сертификата отобразится имя выбранного Вами на этом шаге файла ключа.
В случае, если Вам указано, что есть пароль ключа (и указан сам пароль), то для ввода пароля нажмите пункт Sign Key Pass джойстиком по центру. В появившемся окне введите пароль.
В случае, если ключ не имеет пароля (это обычно указывается при получении сертификата), то данный пункт параметров оставляем без изменений, т.е. не вводим пароль.
Таким образом, как видно из приведенного ниже скриншота, мы заполнили поля пунктов следующим образом:
- Sign Cert - указали путь к файлу сертификата (расширение файла cer), что расположен в папке, распакованной из скачанного Вами архива с сертификатом и ключом.
- Sign Key - указали путь к файлу ключа сертификата (расширение файла key), что расположен в папке, распакованной из скачанного Вами архива с сертификатом и ключом.
- Sign Key Pass - оставили поле пароль для ключа незаполненным (в моем примере), т.к. в моем случае пароль для ключа не требуется, что было указано мне при выдаче сертификата.
Далее следуют настройки, которые Вы можете настроить на Ваше усмотрение, исходя из личных предпочтений.
Настройка Сохранить файл в может быть выбрана, как :
- Такое же как и у источника - т.е, подписанный Вами файл, к имени которого автоматически добавится _signed, будет располагаться в той же папке, что и файл, который Вы выбрали для подписи.
- Вручную - при выборе такой настройки активируется дополнительный пункт меню, в котором Вы сможете указать папку, в которую будут сохраняться все подписанные Вами приложения с помощью программы FreeSigner.
Настройка Сохранить последний путь может принимать значения:
- Разрешить - программа будет помнить путь к последнему подписанному Вами файлу. И когда Вы будете выбирать в следующий раз приложение для подписи, откроет именно эту директорию.
- Запретить - программа не будет запоминать путь к последнему подписанному файлу.И когда Вы будете выбирать в следующий раз приложение для подписи, откроет окно выбора дисков.
В главном окне программы выбираем пункт Добавить задачу и нажимаем джойстик по центру.
Перед тем, как новая задача будет добавлена, появится окно с запросом: какое действие необходимо выполнить:
- Sign Sis - подписать личным сертификатом, выданным под Ваш IMEI.
- Self Sign Sis - подписать общим сертификатом.
- Remove Sign - удалить подпись.
Для подписи приложений личным сертификатом, который Вы только что получили, необходимо выбрать пункт Sign Sis.
Этим действием мы добавляем новую задачу для приложения FreeSigner - подпись конкретного приложения с указанными параметрами (выбранными: личным сертификатом, ключем к этому сертификату и паролем для ключа).
Обратите внимание на иконки у каждого пункта, этот символ возле созданной задачи будет подсказывать, не ошиблись ли Вы с выбором действия. Те, кто подписывают личным сертификатом - у Вас должна стоять иконка с одной латинской буквой S.
Нажимаем левую софт клавишу и выбираем в меню Начать. Этим действием мы начинаем выполнение всех добавленных Вами задач в список (задач можно создать несколько).
Таким образом, Вам необходимо просто строго следовать инструкции по настройке параметров приложения. И тогда никаких проблем при подписи приложений у Вас не должно возникнуть.
Краткое описание возможностей программы FreeSigner 1.01:
- умеет использовать разные ключи
- автоматически удаляет старую подпись при подписи приложения
- работает с расширениями sisx
- может выполнять сразу несколько задач, а именно: например, подписать несколько приложений
- корректно работает на 5800
- не умеет проверять парность сертификат - ключ (т.е. соответствие ключа сертификату).
Используйте только тот ключ, что идет в архиве вместе с сертификатом!
Мобильные телефоны Nokia
на платформах Series 40 и Series 60
Процесс сертификации программ для Symbian OS 9 детально описан на многих сайтах, посвященных смартфонам, но без этого описания диапазон статей на сайте был бы не полным, поэтому я так же его размещаю. Описание процесса сертификации сделано как на основании материалов размещенных в сети, так и моего собственного опыта.
Сертификация (или другими словами подпись) приложений для Symbian OS была введена в 9-й версии системы, с целью повышения безопасности и ограничения доступ к различным функциям, которые используют приложения, и (что прямо не говориться, но подразумевается) для защиты кода самой OS. Так же это повысило защиту приложений от несанкционированного использования, что естественно это осложнило жизнь тем, кто экономит свои средства на приобретении программ :-), но тем не менее решение было найдено.
Существует четыре уровня сертификации приложений для Symbian OS 9:
Self-signed (самоподписаный) - самый простой и самый ограниченный сертификат. Базовый уровень доступа к API (доступно порядка 60% API), нет привязки к IMEI, разрешён доступ только к функциям, которые не защищены "проверкой возможностей". "Проверка возможностей" (дословный перевод словосочетания "capability check") - это проверка возможности программы выполнять те или иные функции. Возможности, образно, являются списками функций, которые приложение может использовать. Допускается использование возможностей группы "пользователь" (user) и "основные" (basic).
Symbian Signed - подпись в консорциуме Symbian. SIS-файл отправляется в консорциум на рассмотрение. Если программа - коммерческая, то сертификация платная, если бесплатная, то подпись так же будет бесплатной. Доступ к 100% API дается в случаи достаточной обоснованности.
Developer certificate (сертификат разработчика) - Как предполагается, он предназначен для тестирования программ на одном устройстве, перед отправкой в Symbian на подпись. Сертификат привязан к одному IMEI и программа, подписанная таким сертификатом установится на смартфон, только с одним, указанным при создании сертификата, IMEI. Такой сертификат даёт возможность получить доступ к примерно 80% функций API. Именно им мы и можем воспользоваться.
Phone Manufactured devcert (сертификат разработчика для производителей телефонов) - сертификат имеет доступ ко 100% функций API и возможностей операционной системы (в том числе доступ в закрытые папки). Но, как следует из название, обычным пользователям его не получить.
Получение сертификат разработчика для Symbian OS 9:
Для получения сертификата разработчика необходимо зарегистрироваться на сайте http://www.symbiansigned.com/ . При этом следует учесть, что для регистрации требуется указать e-mail, расположенный на не бесплатном хостинге (в сети периодически появляются списки бесплатных серверов, регистрацию с доменов которых допускается Symbian signed, но как правило вскорости админы сайта эту ситуацию исправляют :-). На мой взгляд, если у вас есть "нормальный" e-mail - смело регистрируйтесь с него, вас никто не накажет :-).
Генерация запроса на получение сертификата для Symbian OS 9:
Устанавливаем и запускаем DevCertRequest. В отобразившемся окне вводим имя вашего файла-запроса сертификата (он имеет расширение .csr).
Нажимаем на Next. В отобразившемся окне параметр "ACS Pub ID available" ставим NO, в качестве "Private key file" выбираем файл mykey.key (его можно найти в сети, или у меня в разделе "Программы"), убираем галочку с "No password" и вводим пароль 12345678, нажимаем на Next.
В следующем окне заполняем поля отмеченные звездочкой обязательные поля (можно вводить любые значения, это ни на что не влияет).
В четвертом окне выделяем все Capabilitis и нажимаем на кнопку ADD. Затем жмем на кнопку ". ".
В отобразившемся окне вводим IMEI, затем жмем на ADD, а потом ОК и по кнопке Next переходим к последнему окну.
Нажимаем Finish и если видим это окно, то запрос на сертификат готов:
Далее мы увидим:
Нажимаем на кнопку Download. Наш сертефикат скачан. На пол года вы про это можете забыть но через пол года вы снова должны будете получить сертификат.
Подпись программ для Symbian OS 9:
Для подписи программ чаще всего рекомендуют программу SISsinger, но честно говоря ее я бы не рекомендовал из-за откровенной убогости, хотя если ничего нет другого под рукой, сойдет и она. На мой взгляд, более удобной является утилита SISWare, которая как и следует из названия, предназначена для выполнения различных операций над SIS-файлами, таких как пересборка, сертификация и десертификация, а также может генерировать самоподисываемые сертификаты.
Итак, запускаем программу, в меню Tools выбираем пункт Digitally Sign Tools. Переходим на закладку Sign SIS File и заполняем поля:
SIS File To Be Signed - указываем файл который Вы хотите подписать.
Target Signed SIS File - указываем путь и название файла который будет сертифицирован.
Certificate File - указываем путь к полученному сертификата (файл с расширением .cer)
Key File - указываем путь к ключу. ( mykey.key в нашем случае).
Password - пароль ключа.(тот который мы указали при создании запроса на получение сертификата).
Sign Algorithm - выбираем DSA Algorithm.
После этого нажимаем кнопку Sign, и ждём 5-10 секунд. В случае успешной сертификации в окне Signing Info должна появиться информация о сроке действия сертификата. Теперь подписанную программу можно устанавливать в смартфон.
В марте 2008 года на сайте SymbianSigned прекратилась выдача сертификатов. В объявлении, вывешенном на сайте, говорится о том, что ведутся технические работы, так как количество запросов на получение сертификатов очень велико, что не может положительно сказаться на работе сервиса. Выдача сертификатов снова заработала лишь для лицензионных разработчиков ПО, а вот для простых пользователей появляется публичный сервис Open Signed Online, используя который можно подписать необходимое приложение, не получая сертификат на руки (работа по подписи происходит на серверах SymbianSigned). Но на самом деле получилось следующее: сервис Open Signed Online позволяет подписывать только тестовые версии приложений, UID номер которых находится в диапазоне (0xE0000000. 0xEFFFFFFF), при этом большинство приложений, которые бы хотелось подписать пользователям, имеют UID далеко не из этого диапазона, что создает неудобство для простых разработчиков ПО, чьи программы нуждаются в подписи личным сертификатом.
Как подписать приложение с помощью сервиса Open Signed Online рассказывается в статье "Подпись приложений Symbain с помощью службы Open Signed Online".
Вместе с тем, очень многие приложения не обязательно подписывать с помощью сервиса Open Signed Online, это можно сделать самостоятельно с помощью специальных утилит. Как это сделать описано в следующих статьях:
Выяснить причину ошибки в сертификате, из-за чего не устанавливается та или иная программа вам поможет статья "Ошибки, связанные с сертификатами, которые могут возникнуть при установке приложений на Symbian 9.x".
Подписывание приложений уходит в прошлое. Лучше взломать смартфон и не париться.
Инструкция по подписанию приложений на смартфоне с Symbian OS при помощи программы MobileSigner.
Для работы нам потребуется:
Установленное приложение X-plore на смартфоне.
Сертификат и ключ.
Приложение MobileSigner 1.03.
1. Если приложение X-plore еще не установленно у Вас на смартфоне, то скачайте приложение и установите его.
2. Устанавливаем приложение MobileSigner на смартфон (данное приложение не требует подписи): Без использования ПК, используем средства самого смартфона:
Скачиваем архив signsis.sis на смартфон.
Открываем архив с помощью X-plore, данное приложение поддерживает работу с файлами архивов.
Жмем Меню - Файл - Извлечь в. (или используем горячую клавишу 4).
Распаковываем файл архива, например, в папку SISSigner.
Переходим в папку SISSigner к нашему приложению.
Жмем Меню - Файл - Открыть в Системе.
Начнется установка приложения.
Скачиваем архив signsis.sis на ПК.
Распаковываем архив на ПК.
Двойным щелчком по файлу вызываем запуск приложения с помощью программы Nokia PC Suite.
Начнется установка приложения.
3. Скачиваем Ваш архив с сертификатом (в нем Ваш сертификат и ключ):
Без использования ПК, используем средства самого смартфона:
Скачиваем архив с сертификатом на смартфон.
Открываем архив с помощью X-plore, данное приложение поддерживает работу с файлами архивов.
Жмем Меню - Файл - Извлечь в. (или используем горячую клавишу 4).
Распаковываем файлы архива gensing.cer и gensing.key, например, в папку SISSigner.
Используя ПК, с помощью программы Nokia PC Suite:
Скачиваем архив с сертификатом на ПК.
Распаковываем архив на ПК.
Копируем файлы архива gensing.cer и gensing.key с помощью программы Nokia PC Suite в папку на смартфоне, например, в папку SISSigner.
4. Запускаем приложение MobileSigner 1.03.
5. В нем указываем путь к сертификату, к ключу и к программе, которую мы хотим подписать.
- Пункт SIS file. Нажимаем на него и указываем путь к нашему приложению. В данном примере E:/SISSigner/Slick_S60_3rd.sis.
- Пункт Key file (ключ). Нажимаем и указываем путь к нему. В данном примере E:/SISSigner/gensing.key.
- Пункт Cert file (сертификат). Нажимаем и указываем путь к нему. В данном примере E:/SISSigner/gensing.cer.
- Пункт Password (пароль к ключу). Вводим пароль. Если пароль не требуется, то оставляем поле пустым. По умолчанию пароль для ключей 12345678.
6. Подписываем выбранное Вами приложение. Нажимаем Функции - Sign.
7. Ваше приложение подписано! Теперь Вы можете начать установку приложения.
Примечание: Кнопка SelfSign подписывает приложения общим сертификатом, но не все программы можно таким образом подписать и установить.
Читайте также: