Файл идентификатор partner uid. Почему вы отказались от старой системы? что такое UID

Видел на форуме и сайте кучу вопросов, таких как:
- "А че такое уид??"
- "Зачем нужен uid?"
- "Где взять этот uid?"
- "Что такое, и с чем едят uid?"
- "Расскажите про уид!"
И вот, решил написать статейку для непосвященных =)
Итак, начнем...
UID - это составной идентификатор, с помощью которого идентифицируются объекты в Symbian OS. UID состоит из трех 32-битных отдельных чисел. Эти числа, называются компонетами
UID и обычно когда о них заходит речь, на них ссылаются как на UID1-, UID2- и UID3-компоненты. В Symbian OS UID"ы используются в самых различных случаях:
- UID-ы используются для идентификации типов различных объектов как во время исполнения так и во
время загрузки. Например исполняемые файлы, DLL, файловые хранилица и многое другое имеет свои собственные
UID.
- UID-ы используютя для проверки, что объект, который предполается загрузить обеспечит совместимый
и ожидаемый от него интерфейс.Таким образом можно проверить, что DLL относится к ожидаемому типу
или что используемое файловое хранилище имеет строго определнный тип.
- UID-ы - это значения которые однозначно связывают документы и приложения для их обработки. Например,
графические приложения с определенной программой их просмотра.

В Symbian OS UID-ы используются повсеместно для разнообразных идентификаций типов
файлов и увязки файлов с теми или иными приложениями. Конечно, пользователю более понятны обычные
имена файлов и Symbian OS гибко поддерживает имена файлов различной длинны. Но с точки зрения системы,
32-битные номера обеспечивают большую однозначность, систематичность и более легкую идентификацию.
Поэтому UID-ы являются фундаметальной характеристикой ОС.

По определению, UID-тип объекта состоит из трех отдельных UID-ов используемых
в комбинациях. Составные компоненты UID-ов называются UID1, UID2 и UID3 имеют следующие основные
характеристики:
- UID1- может быть рассмотрен как идентификатор на уровне системы; например, исполняемые файлы,
DLL, файловые хранилища все различаются по UID1.
- UID2-различия между объектами имеющими один и тот же UID1 и могут быть рассмотрены как идентификатор
интерфейса; например, статический интерфейс (разделяемая библиотека) и полиморфический интерфейс
(приложение или встраеваемая программная оболочка) DLL-ки отличаются по UID2.
- UID3-идентифицирует объекты, имеющие конкретный UID2 и может рассматриваться как идентификатор
проекта; например, UID3 может быть разделен между всеми объектами, принадлежащими данной программе,
включая библиотеки, если имеются, DLL-ки каркасов,и все документы.

UID-тип это объект типа TUidType , которой можно создать из комбинаций всех
или некоторых из трех возможных UID-ов. Если переменная имеет прелставляет собой UID, то можно выяснить
и значения составляющих её компонентов UID1, UID2 и UID3.

Объект в Symbian OS и, особенно, многие файлы в Symbian OS могут иметь все, несколько,
или вообще не иметь не одного из трех возможных UID-ов.

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

Каждый "родной" документ должен иметь соотвествующий UID1. его значение задается
приложением, создавщим этот документ.

Необходимым является только UID1, но в большинстве случаев разработчики захотят
определить второй и третий UID-ы для документов, которые создает и использует их приложение. Значения
этих UID используются каркасом архитектуры приложения, чтобы управлять связями между приложениями
и их документами. Например, это позволяет при открытии файла определить и запустить связанное с ним
приложение, а также правильно отображать иконку этого приложения, возле файла документа. И наоборот
это позволяет приложению, отсортировывать свои файлы среди прочих.

UID задается из диапазона 0х01000000 до 0x0fffffff.

UID можно в любое время посмотреть, зайдя например в программу SmartFileMan, и нажав клавишу "5" на нужном файле.На экране появятся все три UID-a...

На смартфонах Series 60 каждая программа имеет собственный уникальный номерUID . UID принято записывать в шестнадцатеричной системе с ведущими нулями, например 0x00123456 .

Что такое UID

Приводим отрывок нашей статьи по установке Python на S60:

UID - 8-значный (в шестнадцатеричном виде) уникальный номер. Именно по нему ОС Symbian различает установленные на смартфоне программы друг от друга. На одном смартфоне не может работать две программы с одним UID. Получать идентификатор, по идее, нужно от разработчиков Symbian, причем единственное преимущество такого UID будет в том, что он 100% уникален. Если же придумать номер самим, то появляется шанс встретить программу с таким же UID. Вероятность такого события ничтожно мала, если приложение предназначено только для одного пользователя. Идентификатор обязан лежать в определенных диапазонах, и если введенный UID не укладывается в рамки, то AppMgr уведомит сообщением «Failed Error».

Вот пример «рабочего» UID: «0x31243ABC», который необходимо ввести в окно запроса Give UID и нажать на ОК. Если все прошло успешно, появится сообщение «Installation complete», которое напрямую говорит: «приложение создано, и значок с именем my_program появился в меню (на Nokia 6600 чудо свершится почти сразу, а вот на Nokia N70 нужно подождать секунд 5-10)».

Вообще, у каждого приложения три UID"а, но первые два одинаковы для всех программ и как правило не упоминаются. Важен только UID номер три – уникальный идентификатор программы . Когда говорят "UID программы" – подразумевается именно этот самый UID 3.

Иногда (хотя бы в примерах, в файлах MMP) можно увидеть записи, содержащие два UID"а подряд: 0x100039CE 0x10005B89 .

Так вот, первый из них – это UID номер два, одинаковый для всех программ, а 0x10005B89 – это и есть UID номер три.

Уже упоминалось, что IDE для S60 может автоматически сгенерировать UID. Но уникальность в этом случае не гарантируется. По-настоящему уникальные UID"ы выдаются централизованно, на сайте symbiansigned.com. Для получения UID"а необходима бесплатная регистрация на сайте.

После регистрации нужно перейти на страницу "My Symbian Signed". Там будет доступно меню для получения UID"ов и прочих действий.

Unprotected range используется в одном-единственном случае – если будущую программу под S60 3rd планируется подписывать самостоятельно, сертификатом SelfSigned. Во всех остальных случаях (включая S60 1st и 2nd ) следует выбирать protected range. Номера из unprotected range начинаются с 0xE, либо с 0xA, всё прочее – из protected range.

Выбираем нужный диапазон, заполняем поля "e-mail", "организация" и "описание". Последнее поле нужно лдля того, чтобы через какое-то время пользователь смог бы разобраться, какой UID для какой программы он получал. Удобнее всего в поле "описание" записать имя проекта.

После этих несложных действий сразу же получаем UID. И он действительно уникальный.

В процессе разработки приложения UID программы можно менять. UID в проекте в явном виде встречается в 3-х файлах:

1. Файл с расширением MMP

2. Файл с расширением PKG

3. Файл Application.h

Менять UID нужно во всех 3-х файлах, иначе будут ошибки. На этом наш UID-инструктаж будем считать оконченным.

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

Symbian предоставляет простой и быстрый способ автоматического получения уникального идентификатора. Такой подход позволяет определить владельца подписанного приложения (Symbian 9.x) по его UID"у и предотвратить случайное или преднамеренное использование чужого идентификатора, обеспечить тем самым надежное Data caging (Экранирование данных) .

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

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

UID Класс Диапазон значений Назначение
Защищенная область значений 0 0x00000000 - 0x0FFFFFFF Только для разработки
1 0x10000000 - 0x1FFFFFFF Унаследованные UID
2 0x20000000 - 0x2FFFFFFF Защищенные UID в V9
3 0x30000000 - 0x3FFFFFFF Зарезервировано
4 0x40000000 - 0x4FFFFFFF Зарезервировано
5 0x50000000 - 0x5FFFFFFF Зарезервировано
6 0x60000000 - 0x6FFFFFFF Зарезервировано
7 0x70000000 - 0x7FFFFFFF Идентификаторы производителей
Незащищенная область значений 8 0x80000000 - 8x0FFFFFFF Зарезервировано
9 0x90000000 - 0x9FFFFFFF Зарезервировано
A 0xA0000000 - 0x2AFFFFFF Незащищенные UID в V9
B 0xB0000000 - 0xBFFFFFFF Зарезервировано
C 0xC0000000 - 0xCFFFFFFF Зарезервировано
D 0xD0000000 - 0xDFFFFFFF Зарезервировано
E 0xE0000000 - 0xEFFFFFFF Только для разработки
F 0xF0000000 - 0xFFFFFFFF Совместимость наследованных UID

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

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

Используйте UID из защищенной и незащищенной областей значений, согласно следующей таблице:

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

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

Какие значения 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 0x0100
    0000 - 0x0FFFFFFF в Symbian OS V9 не используется, поэтому, если вы ранее выбрали UID из этого диапазона и создаете программу для Symbian OS V9, то вы должны поменять ей UID.

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

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

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

У меня есть номера UID, полученные с [email protected] . Могу я использовать их?

Для того чтобы подписать вашу программу для 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.

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

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

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

В старой базе 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 также определяет имя папки защищенного хранилища приложения.

Что такое UID3?

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

Что такое 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 protected] .

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

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

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

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

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

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

Как 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.

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

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

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

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

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

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

Собственно uID имеет две основные части/функции:

uID - это уникальный идентификатор, который позволяет войти практически на любой сайт системы uCoz ;

WebTop - это оболочка uID-профиля, которая позволяет комфортно работать со своими данными, контактами и сайтами.

uID - является также универсальным логином, который предоставляет пользователям расширенные возможности. Главная из них - путешествие по сайтам, поддерживающим uID-сообщество в системе uCoz с одними регистрационными данными uID, что избавляет Вас от регистраций на каждом сайте отдельно. При заходе на сайт, поддерживающий uID-сообщество, Вам предоставляется пользовательская панель управления, которая поддерживает множество полезных и удобных функций. Через эту панель Вы сможете отслеживать не только новые комментарии, добавленные за время Вашего отсутствия, но и просматривать свои личные сообщения, несмотря на то, с какого сайта они были отправлены. Не нужно теперь идти на определенный сайт для просмотра личных сообщений.