This page was last modified 18:32, 28 July 2007.
Подписывание приложений
From Forum Nokia Wiki
Перевод с английского, оригинальная статья находится здесь.
Contents |
Для чего подписывать приложения ?
Подписанное приложение - это приложение, которое подписано с помощью закрытого ключа. Для каждого закрытого ключа существует соответствующий открытый ключ и сертификат, например “ACS Publisher ID” сертификат или сертификат разработчика или собственноручно созданный сертификат (self-signed сертификат).
В момент установки подписанного приложения на устройство, установщик приложений проверяет подпись и публичный ключ с помощью корневого сертификата (root certificate) который содержит устройство. Если сертификат (с помощью которого подписано приложение) происходит от корневого - приложение считается надежным, если же приложение подписано с помощью ключа, которому соответствует собственный сертификат (self-signed, не происходит от корневого) - приложение считается ненадежным.
При установке "надежных" приложений выдается меньше предупреждений, приложение может получить больший набор возможностей (capabilities). При запуске подписанных Java-мидлетов от пользователя требуется меньше подтверждений при попытке доступа приложения к защищенным Java API.
Терминология
- Подписывание - техническое действие, создание цифровой подписи программного пакета (SISX-файл S60, JAR-файла для Java) с помощью закрытого ключа. Каждой паре ключей (закрытый и открытый) соответствует сертификат, который может быть издан каким-либо центром сертификации, либо изготовлен собственноручно (self-signed). То, каким образом создан сертификат, на создание подписи никак не влияет, однако в дальнейшем, на основе готовой подписи будет вычисляться уровень доверия.
- Сертификат - содержит информацию, идентифицирующую держателя, от которого исходит сертификат. Сертификаты издаются центрами сертификации (certification authority, издателями - Nokia или Verisign например), и подтверждают что пара ключей (открытый и закрытый) принадлежат объекту ('subject'), описанному в сертификате. Если сертификат создан собственноручно (self-signed) - тогда он не несет никакого уровня доверия, причиной его создания является техническая необходимость.
- Сертификация означает, что приложение предварительно было протестировано согласно каким-то критериям, после чего было сертифицировано. Приложение подписывается с помощью ключа, сертификат которого происходит от корневого сертификата, который есть в конечном устройстве. Когда пользователь устанавливает такое приложение, устройство считает его "надежным". Установщик приложений проверяет цифровую подпись и убеждается в том, что приложение получено из надежных источников. Если приложение не сертифицировано (устройство не содержит соответствующего корневого сертификата), пользователь получит предупреждение во время установки. В предупреждении будет сказано, что приложение получено из ненадежных источников.
- Выпуск сертификата - издание сертификата сертификационным центром для определенной пары ключей (открытый и закрытый). Это не сертификация приложения. Сертификационный цент и центр тестирования (который проверяет и сертифицирует приложения) это разные вещи.
- Надежный программный пакет подписывается ключом, сертификат которого происходит от корневого сертификата. Пакеты, подписанные собственным сертификатом (self-signed) или неподписанные вообще, считаются ненадежными.
Договоренности в S60
При работе с платформой S60 важно понимать, что подписывать приложения необходимо, в то время как сертификация не является обязательной. Наличие электронной подписи - это технически необходимый момент, однако издание соответствующего сертификата - это момент необязательный. Обычно, для получения некоторых возможностей (capabilities), требуется, чтобы программный пакет был сертифицирован (подписан ключом, которому соответствует надежный сертификат).
Тестирование и подпись приложений
Во время тестирования приложения с помощью распространенного в отрасли тестирующего ПО (Symbian Signed или Java Verified) центр тестирования берет на себя проведение сертификации (подписывает приложение с помощью ключа, которому соответствует надежный сертификат) после того, как тесты будут пройдены.
| Related Discussions | ||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Хитрый sis | truf | Russian Developer Forum - Форум Российских разработчиков | 1 | 2007-12-10 06:40 |
| События: WidSets Meet Russia | truf | Russian Developer Forum - Форум Российских разработчиков | 1 | 2008-03-25 11:53 |
| Кто-нибудь разбирался с today на 9-ом Symbian? | WiVa | Russian Developer Forum - Форум Российских разработчиков | 5 | 2007-12-13 12:07 |
| Trusted Application - как этого добиться | JBAK | Russian Developer Forum - Форум Российских разработчиков | 9 | 2008-04-03 12:24 |
| BlackBerry пришел в Россию | truf | Russian Developer Forum - Форум Российских разработчиков | 4 | 2008-01-22 14:58 |
