Программы,статьи и игры для владельцев мобильных телефонов Nokia под управлением OS Symbian Series 60 и Series 40

Rambler's Top100

Как подписывать sis файлы self-signed (самоподписываемым) сертификатом

Авторский перевод сайта http://www.s40s60.dp.ua/
стороннее размещение материала только с разрешения редактора сайта.


Общеизвестно, что начиная с S60 3-й редакции (Symbian OS 9), пользователи могут устанавливать только подписанные приложения.

Если приложение использует только базовые возможности ОС, оно может быть подписано самоподписываемым (self-signed) сертификатом. Базовые возможности включают функции LocalServices, NetworkServices, ReadUserData, UserEnvironment и WriteUserData. Приложение, которое не использует никаких возможностей, также может быть подписано самоподписываемым (self-signed) сертификатом. Преимуществом самоподписываемых (self-signed) сертификатов является то, что этот способ быстрый, выполняется исключительно на локальной машине и подписанный самоподписываемым (self-signed) сертификатом файл можно установить больше чем на одном устройстве без ограничений (номер IMEI number, к примеру).

Недостатком самоподписываемого (self-signed) сертификата является то, что при установке программы пользователь будет предупрежден, что приложение не надежно, и пользователь может продолжить или прервать установку. Такой диалог не отображается если приложение подписано через Symbian Signed. Так же хотя самоподписание работает даже когда приложение требует более серьезные возможности, чем предоставляет базовый набор, но подписанное таким образом приложение не будет устанавливаться на устройство.

Ниже прдставлен пример процедуры самоподписания (Self-Signing).

Шаг 1. Создание файла сертификата и ключей.

На вашем рабочем столе Windows выберите Старт->Выполнить->Cmd перейдите в директорию, где находится ваш Sis файл используя команду DOS CD.

C:\HelloWorld\sis> makekeys -cert -password World123 -len 1024
  -dname "CN=World User OU=Development OR=WorldCompany CO=FI
  EM=World@test.com" WorldKey.key WorldCert.cer

Данная операция создает файлы WorldKey.key и WorldCert.cer которые вам понадобятся чтобы подписать ваш файл HelloWorld.Sis на шаге 2. Обратите внимание, что обновленная версия makekeys позволяет указать срок действия сертификата отличный от одного года (по умолчанию).

Шаг 2. Подпись приложения.

C:\HelloWorld\sis>signsis HelloWorld.sis HelloWorld.sis WorldCert.cer
  WorldKey.key World123

В данном примере World123 - это пароль.

Вы получили сертифицированный с помощью самоподписываемого (self-signed) сертификата файл HelloWorld.Sis. Теперь его можно устанавливать на устройство.

Приложение. Утилиты makekeys и signsis

Для сертификации нам понадобятся утилиты makekeys и signsis, доступные в SDK для Series 60, или отдельно в разделе "Программы" этого сайта.

Опции утилиты makekeys:

Создание файла-ключа (private-key-file) и файла-сертификата (public-key-cert):

makekeys -cert [-expdays <cert-expiry-in-days>][-password <password>] 
[-len <key-length>] -dname <distinguised-name-string> <priv ate-key-file> 
<public-key-cert>

Создание файла-запроса сертификата:

makekeys -req [-password <password>] -dname <distinguised-name-string>
<private-key-file> <public-key-cert> <cert-request-file>

Отображение информации о сертификате:

makekeys -view <certificate-file>

Примеры использования:

makekeys -cert -expdays 3650 -password yourpassword -len 2048 -dname "CN=Joe Bloggs 
OU=Development OR=Acme Ltd CO=GB EM=noone@nowhere.com" mykey.key mycert.cer
makekeys -req -password yourpassword -dname "CN=Joe Bloggs OU=Development OR=Acme 
Ltd CO=GB EM=noone@nowhere.com" mykey.key mycert.cer myreq.p10

Опции утилиты signsis:

SignSIS [-?][-c...][-i][-r][-s][-u][-v] sis_input [sis_output [certificate key [passphrase]]]
Если генерация ключей и подпись программ в командной строке для вас затруднительна, вы можете воспользоваться программой SISWare, руководство по подписи с ее помощью находится здесь.

Все описанные в статье программы доступны в разделе "Программы для S40 S60" этого сайта.



Добавить в закладки:



Copyright © Мобильные телефоны Nokia на платформах Series 40 и Series 60 by Victor Tkachenko