Приложения, которые могут быть использованы для подписи sis-пакетов:
SISContents - утилита, в функции которой входит распаковка, редактирование и подпись sis файлов.
Основными преимуществами программы в плане подписи являются:
- наличие графического интерфейса, обеспечивающего наглядный обзор всех компонентов sis-пакета и подписей, которые у них есть с указанием срока действия сертификата, участвовавшего в подписывании;
- управление подписями (добавление/удаление) индивидуально по каждому компоненту пакета, благодаря чему программа незаменима при подписи embedded sis файлов;
- наличие профилей подписывания, позволяющих добавить неограниченное количество сертификатов и использовать их в зависимости от ситуации.
Для того чтобы управлять подписями sis-пакета необходимо его открыть и выбрать в главном меню программы пункт Tools->Sign package. В открывшемся окне есть две вкладки:
- Package;
- Key pairs;
На вкладке Package присутствуют следующие элементы управления:
- Список компонентов sis-пакета (список в левой части окна);
- Список подписей (нижняя часть окна, в нем отображаются подписи компонента, выбранного в списке выше);
- Список профилей (правая часть окна, отображает все добавленные сертификаты и ключи, используемые для формирования подписи);
- кнопки Add Signature и Delete signature, предназначенные для, соответственно, добавления подписи к выбранному компоненту и удаления уже существующей подписи.
На вкладке Key pairs присутствуют следующие элементы управления:
- Список сертификатов;
- Форма для добавления/редактирования новых сертификатов;
Перед тем, как подписать sis-пакет необходимо добавить сертификаты и ключи, которыми и будут в дальнейшем подписываться sis файлы, т.е. сформировать список профилей подписывания.
Формирование списка профилей осуществляется на вкладке Key Pairs (key pair – пара ключей, т.е. секретный ключ и соответствующий ему сертификат). Добавить новый профиль позволяет форма в правой части окна. Когда в списке профилей (левая часть окна) выделен какой-либо профиль, это означает редактирование его параметров в форме. Для добавления нового профиля необходимо, чтобы в списке сертификатов ни один не был выделен (достаточно кликнуть на пустой области списка, чтобы снять выделение).
Для добавления нового профиля необходимо заполнить все поля:
- Выбрать файл сертификата;
- Выбрать файл ключа, соответствующего этому сертификату;
- Ввести пароль для дешифровки файла ключа, если ключ шифрован. Опция Show letters позволяет включить отображение символов пароля, чтобы не ошибиться при вводе.
Максимальная длина пароля – 25 символов.
- Имя профиля. Здесь можно ввести что угодно, но рекомендуется выбрать осмысленное название, чтобы этот сертификат можно было сразу идентифицировать.
После заполнения всех необходимых данных нажмите на кнопку Add profile, и новый профиль будет добавлен в список. Для удаления профиля выберите его в списке и нажмите на кнопку Delete.
Для правки параметров профиля необходимо выбрать его в списке и отредактировать нужные поля, после чего сохранить их, нажав на кнопку Apply.
После того, как формирование списка ключей завершено, можно переходить к процессу подписывания sis-пакетов. Подпись добавляется к каждому компоненту пакета индивидуально. Если это не embedded-пакет, то компонент всего один.
Для embedded-пакетов нужно соблюдать правило: сначала должны быть подписаны встроенные компоненты, потому что подписи родительских компонентов в процессе подписи дочерних удаляются (так как перестают быть валидными).
Для добавления подписи к выбранному компоненту выберите нужный профиль из сформированных ранее пар ключей и сертификатов и нажмите на «Add signature». После формирования подпись будет добавлена в список. Если у компонентов sis-пакета уже есть какие-либо подписи, их можно удалить. Для этого выберите подпись в списке и нажмите на кнопку «Delete signature».
Signsis – официальная консольная утилита от компании Symbian. Работа с программой осуществляется в командной строке (Пуск->Выполнить, набрать cmd, нажать OK).
Для вывода на экран справки по всем принимаемым параметрам программы необходимо набрать
signsis -?
Приложение может, как подписать sis-пакет, так и удалять из него последнюю подпись. Для подписи необходим сам sis-пакет, сертификат, его секретный ключ (private key) и пароль для дешифровки ключа.
Подписывание sis-пакета:
signsis -s -v mysisfile.sis mysisfile.sisx mycert.cer mykey.key password
Параметр -s сообщает программе, что файл необходимо подписать (может отсутствовать), -v - используется для вывода информации о процессе подписи (может отсутствовать), mysisfile.sis – имя файла неподписанного sis-пакета, mysisfile.sisx – имя файла, куда будет сохранен подписанный пакет, mycert.cer – файл сертификата, mykey.key – секретный ключ сертификата, password – пароль к секретному ключу. Если секретный ключ не шифрован, то пароль указывать, естественно, не надо, и командная строка будет выглядеть так:
signsis -s -v mysisfile.sis mysisfile.sisx mycert.cer mykey.key
Для удаления последней подписи вызываем signsis с параметром –u
signsis -u mysisfile.sis mysisfile-unsigned.sis
В результате будет создан mysisfile-unsigned.sis, являющийся копией mysisfile.sis, только без последней подписи.
Важно: при использовании signsis обращайте внимание на то, чтобы в имени sis-пакета отсутствовали пробелы.
SignTool от TolyaN. Данная утилита является GUI front-end’ом к программе signsis и предоставляет в распоряжение пользователя удобный графический интерфейс, чтобы не вызывать signsis из консоли. Автор для своей программы заявляет следующие возможности:
- подпись нескольких файлов одновременно;
- проверка установочных пакетов на совместимость;
- просмотр информации о сертификатах, которыми подписаны файлы;
- работа с несколькими сертификатами;
- выбор папок сохранения файлов;
- перетаскивание файлов из Проводника;
- сохранение пакетных bat-файлов.
Со всеми возможностями программы вы можете ознакомиться самостоятельно, я же опишу алгоритм действий при подписывании.
Запускаем SignTool, далее (
см. скриншот):
1. нажимаем кнопку Добавить, выбираем файл (или несколько), который будем подписывать;
2. в закладке ключи и сертификаты напротив поля «Выберите файл сертификата (*.CER)» нажимаем кнопку Добавить и выбираем файл сертификата;
3. аналогично нажимаем кнопку Добавить напротив поля «Выберите файл ключа (*.KEY)» и выбираем секретный ключ;
4. в поле «Введите пароль» вводим пароль для расшифровки секретного ключа (или удаляем его, если ключ не шифрован).
5. в поле «Папка сохранения файлов» нажимаем на кнопку Обзор и выбираем каталог, куда будет сохранен подписанный sis-пакет. Это действие можно пропустить, и тогда программа сохранит подписанный пакет в ту же папку, где находится неподписанный;
6. нажимаем на кнопку Подписать. Если появилось сообщение “Файл подписан!” и был создан подписанный пакет, значит, процесс прошел успешно.
GenialSIS – программа для подписи sis-пакетов от socci4. Для работы требуется
.Net Framework 3.5. Если после запуска интерфейс программы на китайском языке, перейдите на последнюю вкладку (Info) и в правой нижней части окна выберите подходящий вам язык, я буду приводить названия элементов управления на английском.
Для начала программа предлагает создать сертификат (вкладка 1 - Create Certificate) и ввести IMEI своего аппарата, после чего перейти на вкладку 2 (Symbian Signed Certificate) и ввести учетные данные своего аккаунта на сайте SymbianSigned, чтобы послать запрос на получение сертификата разработчика. Так как в данный момент Symbian не выдает сертификаты при отсутствии Publisher Id, данные шаги можно пропустить и после запуска программы сразу переходить на
вкладку Import, где нам будет предложено импортировать уже имеющиеся у нас сертификаты. Используя кнопки Open, выбираем ключ и сертификат, после чего жмем на Import. GenialSIS предлагает ввести имя профиля, можно написать любое, но логичнее будет придумать осмысленное название, например, указать в нем тип сертификата (developer или self-signed), для удобства использования.
После появления сообщения “Files imported successfully!” переходим на
вкладку 3 - Sign SIS/SISX, нажимаем кнопку Open, в диалоговом окне выбираем файл (файлы) для подписи, в списке Profile – только что созданный профиль и нажимаем на кнопку Sign (для подписи) или Unsign (для удаления подписи). Сообщение “The files have been successfully signed!” проинформирует о том, что операция завершилась успешно.
P.S. Если перед подписыванием вам потребуется удалить из sis-пакета прежний сертификат (например, если срок его действия закончился), можно сделать это с помощью
SISContents. Для этого откройте sis-пакет и в меню Tools выберите пункт
Delete signatures. Подтвердите выбранное действие и закройте окно, программа предложит сохранить измененный файл, соглашайтесь.