категории | RSS

  

Всё об UID, SID, VID. 0

Общая информация

grey lir
Wed, 06 Feb 2008 17:44:58 MSK


Данная статья думаю будет интересна всем от рядовых пользователей до программистов и разработчиков приложений.


*1 Уникальные идентификаторы

*2 Какие бывают UID'ы и в чем разница между защищенной и незащищенной областью значений ?

*3 Из каких областей я должен брать UID для программ, предназначенных для Symbian 9.x или более старших версий?

*4 Какие значения UID в Symbian OS V9 я должен использовать для примеров из SDK и тестовых приложений?

*5 У меня есть номера UID, полученные с [email=uid@symbiandevnet.com.]uid@symbiandevnet.com.[/email] Могу я использовать их?

*6 Как получить новый UID?

*7 Почему вы отказались от старой системы?

*8 Что такое SID?

*9 Что такое UID3?

*10 Что такое VID?

*11 Сколько номеров UID может получить разработчик?

*12 Проверяет ли Symbian Signed UID разработчика для версий Symbian OS старше v9.x?

*13 Могут ли быть какие-нибудь исключения, позволяющие подписать приложение используя чужой UID или UID из незащищенной области значений?

*14 Как Symbian проверяет принадлежность UID разработчику?

*15 Как мне узнать, какие UID мне назначены?

*16 Что такое Data caging (Экранирование данных)?

*17 К кому мне обратиться. если у меня остались вопросы?

*18 Внутренние сслылки


*1 Уникальные идентификаторы

UID (Уникальный идентификатор)в Symbian - это 32-х разрядное число, принимающее значение в диапозоне от 0x00000000 до 0xFFFFFFFF. Отдельные значения, входящиев этот диапозон, могут присваиваться некоторым объектам для различных целей. Для однозначной идентификации бинарного файла (EXEили DLL) в системе, а также для разграничения доступа между процессами, используется уникальный идентификатор (UID3) который задается в mmp-файле. Symbian предоставляет простой и быстрый способ автоматического получения уникального идентификатора. Такой подход позволяет определить владельца подписанного приложения (Symbian 9.x) по его UID'у и предотвратить случайное или преднамеренное использование чужого идентификатора, обеспечить тем самым надежноеData caging (Экранирование данных).


*2 Какие бывают UID'ы и в чем разница между защищенной и незащищенной областью значений?

Значения UID меньшие или равные 0x7FFFFFFF являются защищенными и предназначены только для использования в подписанных (или предустановленных в ROM) приложениях. Инсталлятор не позволит установить неподписанное приложение, если оно включено в пакет имеющий UID из защищенной области значений. Для присвоения программам новых идентификаторов берутся значения начиная с 0x20000000 для защищенной области, и с 0xA0000000 для незащищенной.
UIDК ласс Диапазон значений Назначение

Защищенная область значений00x00000000 - 0x0FFFFFFFТолько для разработки

10x10000000 - 0x1FFFFFFFУнаследованные UID

20x20000000 - 0x2FFFFFFFЗащищенные UID в V9

30x30000000 - 0x3FFFFFFFЗарезервировано

40x40000000 - 0x4FFFFFFFЗарезервировано

50x50000000 - 0x5FFFFFFFЗарезервировано

60x60000000 - 0x6FFFFFFFЗарезервировано

70x70000000 - 0x7FFFFFFFИдентификаторы производителей

Незащищенная область значений

80x80000000 - 8x0FFFFFFFЗарезервировано

90x90000000 - 0x9FFFFFFFЗарезервировано

A0xA0000000 - 0x2AFFFFFFНезащищенные UID в V9

B0xB0000000 - 0xBFFFFFFFЗарезервировано

C0xC0000000 - 0xCFFFFFFFЗарезервировано

D0xD0000000 - 0xDFFFFFFFЗарезервировано

E0xE0000000 - 0xEFFFFFFFТолько для разработки

F0xF0000000 - 0xFFFFFFFFСовместимость наследованных UID

*Примечание: Устройства на платформе S60 третьего издания позволяют устанавливать только подписанные приложения.


3*Из каких областей я должен брать UID для программ, предназначенных для Symbian 9.x или более старших версий?

Из-за ограничений на область значений UID Symbian OS v9, используйте 'защищенные' UID как для подписываемых сертификатом, таки для неподписываемых программ. Это правило включает в себя UID'ы для бинарных файлов и сопутствующих им файлов пакетов .pkg (т.н. SISUID). Если для приложения, предназначенного для Symbian версии старше 9-й, вы использовали незащищенный UID - утилита Makesis.exe сообщит об ошибке, а само приложение может аварийно завершиться после установки.

Приложения для Symbian OS v9 и более поздних версий должны использовать назначенные им защищенные UID. В противном случае, они не пройдут процедуру тестирования при подписывании.


4*Какие значения UID в Symbian OS V9 я должен использовать для примеров из SDK и тестовых приложений?

Для версий старше Symbian OS v9 используйте UID из тестовой области значений 0x01000000 - 0x0FFFFFFF.

Примеры из SDK в Symbian OS v9 проектируются таким образом, чтобы их можно было использовать без сертификата разработчика. Это позволяет назначать им UID из незащищенной области. У вас есть две возможности:

*1 Официально запросить UID из незащищенной области 0xAxxxxxxx с помощью вашей учетной записи на сайте Symbian Signed.


*2 Использовать UID из тестовой области 0xExxxxxxx выбирая значения случайным образом. Следите чтобы выбранные вами значения не повторялись. Заметьте, что тестовая область для более старших версий Symbian OS V9 0x01000000 - 0x0FFFFFFF в Symbian OS V9 не используется, поэтому, если вы ранее выбрали UID из этого диапазона и создаете программу для Symbian OS V9, то вы должны поменять ей UID.

*Для всевозможных примеров и тестовых приложений:

Пункт первый вероятно более всего подойдет проектам (например, браузеру файловой системы или игре), а пункт второй - больше подойдет программам с демонстрационным/обучающим/тестовым уклоном, (например, HelloWorld) которые не будут распространяться в виде SIS файлов.

Заметьте, что какую бы область значений вы не использовали, вы должны побеспокоиться о том, чтобы ISV приложения не копировали UID'ы у проектов примеров, а использовали собственные уникальные UID'ы. Не допускайте использования одного и того же UID в двух программах.


*5 У меня есть номера UID, полученные с [email=uid@symbiandevnet.com.]uid@symbiandevnet.com.[/email] Могу я использовать их?

Для того чтобы подписать вашу программу для Symbian OS v9, необходимо получить UID из другой системы назначений UID. Даже если вы в прошлом получили UID от Symbian, вам все равно придется запросить новые UID на сайте www.symbiansigned.com как только вы захотите подписать вашу программу. Вы можете продолжать использовать уже назначенный UID в неподписанных приложениях Symbian OS v9. Для этого, просто замените первую шестнадцатиричную цифру 1 на F, все остальныые цифры оставьте прежними. Это перенесет ваш UIDв область Совместимости наследованных UID. Там он гарантированно не будет конфликтовать с UID'ами других программ. К примеру, если у вашего приложения был UID 0x100F55BE вы можете перевести его в 0xF00F55BE или использовать в неподписанных программах на Symbian OS v9.

*6 Как получить новый UID?

Вам нужно зарегистрироваться на сайте www.symbiansigned.com Вы можете сделать это нажав кнопку register в левой части навигационной панели. Если вы зарегистрировались и выполнили вход, щелкните по ссылке Request UIDs в левой части навигационной панели. Если вы разрабатываете приложение, предназначенное для более старших версий Symbian OS чем Symbian OS v9, вы можете выбрать UID как из защищенной, так и из незащищенной областей значений. Если ваша программа должна быть подписана для Symbian OS v9, вам нужно получить UID из защищенной области значений перед отправкой вашего приложения Symbian Signed. Если вы не намерены подписывать вашу программу, используйте UID из незащищенной области значений. Неподписанные программы с UID из защищенной области не будут устанавливаться на телефон в V9.


*7 Почему отказались от старой системы?

В старой базе UID данных было не достаточно для определения владельца UID, а этого требует процедура Symbian Signed для приложений на платформе Symbian OS v9. В результате этого, старые данные не были перенесены в новую систему. Symbian Signed требует, чтобы все подписываемые приложения для Symbian OS v9 использовали UID из защищенной области значений, и получали их с помощью новой системы. В дополнение ко всему, новая система полностью автоматизирована и не имеет задержек, связанных с ручной обработкой.


*Что такое SID?

SID (Secure ID или ID безопасности)- это UID специального назначения. В Symbian OS v9 каждый исполняемый файл имеет свой SID. SID задается после ключевого слова SECUREID в MMP файле приложения, и по умолчанию имеет то же значение, что и UID3. SID в DLL файле игнорируется, т.к. SID процесса всегда равен SID'у породившего его EXE файла.

На основании SID, сервер подтверждает или отклоняет вызовы к определенным API. SID также определяет имя папки защищенного хранилища приложения.

Что бы избежать противоречий, рекомендуется не указывать SECUREID в MMP файле приложения, и позволить ОС использовать UID3 в качестве SID.


8*Что такое UID3?

Первые 12 байт любого исполняемого (в оригинале просто - любого) файла Symbian OS используются для хранения трех 32-х битных чисел (UID1, UID2 и UID3), которые определяют тип файла. UID3 это число, которое вы задаете в MMP файле проекта после ключевого слова UID, чтобы однозначно идентифицировать ваше приложение.


9* Что такое VID?

VID (Vendor ID или ID производителя)- еще один UID специального назначения, используемый в Symbian OS v9. Symbian выделила определенную область значений UID (0x70000000 до 0x7FFFFFFF) для использования в качестве значения этого идентификатора. VID используется для быстрого определения производителя исполняемого файла. VID задается после ключевого слова VENDORID в файле MMP проекта. Если VID незадан, то он принимает значение по-умолчанию - 0x00000000. Значение VID в DLL файле игнорируется - также как и SID, VID процесса всегда равен VID'у EXE файла.

Большинство разработчиков не имеют назначенных им VID и должны использовать значение по-умолчанию - 0. Наиболее полезен VID для сотовых операторов и производителей телефонов - операторы сотовой связи могут использовать VID, чтобы разрешить доступ к некоторым сетевым API только приложениям с определенными значениями VID. Если вы хотите получить VID, пожалуйста свяжитесь с Symbian: [email=symbiansigned@symbian.com.]symbiansigned@symbian.com.[/email]


10* Сколько номеров UID может получить разработчик?

Изначально все пользователи имеют ограничение на получение до 20 UID в день. Если вы превысили это число, вы увидите следующее сообщение об ошибке: Daily UID Allocation Limit Exceeded! Администраторы Symbian могут изменить профиль пользователя и позволить ему получать больше UID в день. Для этого, свяжитесь с ними по адресу [email=symbiansigned@symbian.com.]symbiansigned@symbian.com.[/email]


12*Проверяет ли Symbian Signed UID разработчика для версий Symbian OS старше v9.x?

Для разработчиков программ под версии Symbian OS старше v9.x никаких изменений в процессе подписывания не произошло. Разработчикам нет необходимости запрашивать UID в новой системе Symbian Signed для того чтобы подписать свои приложения.


13* Могут ли быть какие-нибудь исключения, позволяющие подписать приложение используя чужой UID или UID из незащищенной области значений?

В случае, если вы подписываете свое приложение с помощью издателя-сертификатора (publisher certifier), то вы можете использоватьлюбой UID, так как ваша программа будет подписана с использованием ID издателя (publisher ID).
Сертифицирующий издатель - это организация, которой доверено самостоятельно тестировать приложения третьих лиц, и подписывать их собственным ID публикатора. Некоторые издатели программного обеспечения (например, Handango и Cellmania) пользуются такой моделью.


14* Как Symbian проверяет принадлежность UID разработчику?

Когда разработчик отсылает свое Symbian OS v9 приложение Symbian для подписывания, Symbian сканирует SIS файл (примечание, Symbian Signed определяет владельца UID только для Symbian OS v9). Система запоминает имя-идентификатор (The Distinguished Name), ID издателя и UID'ы найденные в приложении. Пользователь может просмотреть результаты сканирования SIS файла перейдя по соответствующей ссылке на странице информации о приложении. Система просматривает все найденные в результате сканирования UID'ы и сопоставляет каждому из них его владельца, выбираемого из базы назначенных UID. Напротив каждого UID будет отображаться сопоставленное ему имя владельца. После этого тестировщик (test hause) вашего приложения сможет сравнить владельца UID и имя-идентификатор, получаемое из ID издателя.

Замечание: Отображаются только ненулевые VID. Если система не может найти в своей базе UID, обнаруженный в файле, то пользователю будет сообщено об ошибке. Такое приложение не сможетуспешно пройти тесты.

Пользователь или тестировщик могут просмотреть детальную информацию о приложении. В следующем примере тестировщик должен отвергнуть попытку подписать программу, так как пользователь не является владельцем одного из значений UID.


15*Как мне узнать, какие UID мне назначены?[b]

После входа с использованием собственной учетной записи на www.symbiansigned.com, вы сможете воспользоваться ссылкой View UIDsв левой части навигационной панели. Перейдя по этой ссылке, вы попадете на страницу, отображающую все назначенные вам идентификаторы. Записи группируются по областям значений (защищенная\незащищенная) и выводятся вместе с именем-идентификатором и названием организации, которой они принадлежат. Если записей слишком много, то их список разбивается на страницы. Кроме того, можно воспользоваться поиском.


16*[b]Что такое Data caging (Экранирование данных)?


В любой операционной системе существует опасность повреждения (случайного или умышленного) приватных данных одной программы другой программой. Чтобы воспрепятствовать этому в Symbian V9 была реализована концепция экранирования данных. Экранирование данных используется для ограничения доступа к определенным областям файловой системы, в зависимости от наличия или отсутствия у приложения некоторых возможностей (capability). Каждое приложение также получает исключительные права доступа к собственной директории, защищенной системой. Для обеспечения уникальности имени такой директории используется значение идентификатора безопасности (SID). Например, приложение, имеющее SID равный 0x12345678, получит защищенную директорию со следующим именем: \private\12345678\

Во время процесса сертификации приложения проверяется, имеете ли вы право назначить ему тот или иной SID. Для этого вы должны быть владельцем SID, используемого приложением. Так как системный инсталлятор позволяет устанавливать только подписанные программы с SID взятым из защищенной области значений, то несанкционированного доступа одной программы к хранилищу данных другой исключен. Неподписанное приложение может попытаться использовать SID, принадлежащей другой программе, но в этом случае системный инсталлятор откажется установить такое приложение.

Хотя чтение и запись из экранированного хранилища другой программы запрещены, в процессе инсталляции (и только в этот момент) существует возможность добавлять в него файлы . Они дожны помещаться в поддиректорию import. Такой механизм позволяет устанавливать плагины и аддоны к уже установленному приложению. Для приведенного выше примера директория, позволяющая добавить файлы в хранилище, будет находиться здесь: \private\12345678\import\


Материалы статьи взяты на www.symbiansigned.com[/br]


Рейтинг: 4
голосов: 5

Похожие файлы


- 0 штук
Здесь находятся
всего 0. За сутки здесь было 0 человек

Комментарии 8

сортировка:
#8   RockShow    

Ничего не поняла... Мне бы узнать, как поменять uid файла sisx, чтобы можно было установить и запустить две одинаковые проги (игры) одновременно. По типу, как меняют манифест файл на яве. Подскажите, расскажите, с меня плюс.)))

0 ответить



Вверх страницы Вниз страницы