Удостоверение (схема пакета для Windows 8)

Определяет глобальный уникальный идентификатор для пакета. Удостоверение пакета представлено в виде кортежа атрибутов пакета.

Иерархия элементов

<Пакет>
<Идентифицирует>

Синтаксис

<Identity Name                   = A string between 3 and 50 characters in length that consists of alpha-numeric, period, and dash characters.
          ProcessorArchitecture? = "x86" | "x64" | "arm" | "neutral"
          Publisher              = A string between 1 and 8192 characters in length that fits the regular expression  of a distinguished name : "(CN|L|O|OU|E|C|S|STREET|T|G|I|SN|DC|SERIALNUMBER|(OID\.(0|[1-9][0-9]*)(\.(0|[1-9][0-9]*))+))=(([^,+="<>#;])+|".*")(, ((CN|L|O|OU|E|C|S|STREET|T|G|I|SN|DC|SERIALNUMBER|(OID\.(0|[1-9][0-9]*)(\.(0|[1-9][0-9]*))+))=(([^,+="<>#;])+|".*")))*". Further, semantic validation ensures that the string is compliant with CertNameToStr Windows API implementation of X.500 rules.

          Version                = A version string in quad notation, "Major.Minor.Build.Revision".
          ResourceId?            = A string between 1 and 30 characters in length that consists of alpha-numeric, period, and dash characters. />

Ключ

? необязательно (ноль или один)

Атрибуты и элементы

Атрибуты

Атрибут Описание Тип данных Обязательно
имя;

Описывает содержимое пакета. Атрибут Name не учитывает регистр.

Используйте атрибут DisplayName для вывода имени пакета пользователям.

Строка длиной от 3 до 50 символов, которая состоит из буквенно-цифровых символов, точек и дефисов. Да
ProcessorArchitecture

Описывает архитектуру кода, содержащегося в пакете. Пакет, включающий исполняемый код, должен включать этот атрибут.

Этот атрибут может иметь одно из следующих значений:

  • x86
  • X64
  • arm
  • нейтральная тональность
Нет
Publisher

Описание сведений об издателе. атрибут Publisher должен соответствовать сведениям о субъекте издателя сертификата, используемого для подписания пакета. Дополнительные сведения см. в статье Упаковка приложений .

Строка длиной от 1 до 8192 символов, которая соответствует регулярному выражению различающегося имени: "(CN | L | O | Подразделение | E | C | S | Улица | T | G | I | SN | DC | SERIALNUMBER | Кода. (0 | [1-9] [0-9] *) (\. ( 0 | [1-9] [0-9] *)) = (([^, + = " <> #;]) +|". * ") (, (CN | L | O | Подразделение | E | C | S | Улица | T | G | I | SN | DC | SERIALNUMBER | Кода. (0 | [1-9] [0-9] *) (\. ( 0 | [1-9] [0-9] *)) = (([^, + = " <> #;]) +|". *")))*". кроме того, семантическая проверка гарантирует, что строка совместима с реализацией API цертнаметостр Windows в правилах X. 500. Да
ResourceId

Описывает тип ресурсов пользовательского интерфейса, содержащихся в пакете. ResourceId — это строка, указанная издателем.

Строка длиной от 1 до 30 символов, которая состоит из буквенно-цифровых символов, точек и дефисов. нет
Версия

Номер версии пакета.

Строка версии в представлении «основная. Дополнительная. сборка. Редакция». Да

 

Дочерние элементы

Отсутствует.

Родительские элементы

Родительский элемент Описание
Пакет

Определяет корневой элемент манифеста пакета приложения. Манифест описывает структуру и возможности программного обеспечения для системы.

 

Remarks

Важно! Для строк Name и ResourceId необходимо соблюдать следующие правила.

  • Допустимые входные символы = подмножество ASCII
    • Прописные буквы (от U + 0041 до U + 005A)
    • Строчные буквы (от U + 0061 до U + 007A)
    • Числа (от U + 0030 до U + 0039)
    • Точка (U + 002E)
    • Тире (U + 002D)
  • Запрещенные строки
    • Не может быть равно...
      • ".", "..", "Con", "PRN", "AUX", "NUL", "COM1", "COM2", "COM3", "COM4", "COM5", "COM6", "COM7", "COM8", "COM9", "LPT1", "LPT2", "LPT3", "LPT4", "lpt5", "lpt6", "lpt7", "lpt8", "LPT9"
    • Не может начинаться с...
      • "Con.", "PRN.", "AUX.", "NUL.", "COM1.", "COM2.", "COM3.", "COM4"., "COM5.", "COM6.", "COM7.", "COM8.", "COM9.", "LPT1.", "LPT2.", "LPT3.", "LPT4.", "lpt5.", "lpt6.", "lpt7.", "lpt8.", "LPT9.", "xn--"
    • Не может заканчиваться на...
      • "."
    • Не может содержать...
      • ". xn--"

 

Атрибут Name используется операционной системой и разработчиками для обнаружения пакетов. Атрибут Name не предназначен для отображения конечным пользователям.

Если приложение основано на разных пакетах ресурсов, атрибут ResourceId должен быть уникальным в пределах учетной записи пользователя для данного имени пакета. Установка основных вариантов пакетов на основе идентификаторов ресурсов невозможна одновременно. Однако допускается несколько одновременных вариантов пакета только для ресурсов. Примеры возможных атрибутов ресауреид :

  • Северная Америка
  • Азия
  • Европейские языки

атрибут Publisher проверяется по имени субъекта сертификата подписи при открытии подписанных пакетов. если атрибут Publisher не полностью соответствует имени субъекта, пакет является недопустимым. Можно создать несколько семантически эквивалентных строковых представлений из имени субъекта, хранящегося в сертификате. используйте эти правила канонизации, чтобы сопоставить значение атрибута Publisher с именем субъекта:

  • Значения Юникода могут быть в кодировке UTF-8.

  • Если имя содержит устаревший компонент электронной почты, Международный доменное имя (IDN) представлено в формате Юникод.

  • Идентификаторы объектов (OID) с именами ключей X. 500 должны использовать имя ключа X. 500 (например, CN, not 2.5.4.3).

  • Идентификаторы объектов без имен ключей X. 500 идентифицируются с помощью префикса OID (например, OID. 2.5.4.34).

  • Имена ключей OID отделены от их значений знаками равенства без лишних пробелов (например, CN = Жохнсмис).

  • Несколько записей относительного различающегося имени (RDN) разделяются запятой, за которой следует пробел (например, CN = Жохнсмис, O = Contoso).

  • Значение RDN заключено в кавычки только в том случае, если оно содержит начальные или конечные пробелы или один из следующих символов (например, CN = "Жохнсмис", O = "C++ Inc."):

    • Запятая (,)
    • Знак "плюс" (+)
    • Знак равенства (=)
    • Пометка дюйм (")
    • Обратная косая черта, за которой следует буква n (\n)
    • Знак "меньше" ( < )
    • Знак "больше" ( > )
    • Знак номера (#)
    • Точка с запятой (;)
  • Кавычки — это знак дюйма ("). Если значение RDN содержит знак дюйма, то знак дюйма должен содержать двойные кавычки (""), кроме заключенных в кавычки (например, CN = "Уильям" "Bill" "Иванов").

  • Многозначные RDN не допускаются (например, CN = Жохнсмис + O = Contoso).

эти правила соответствуют поведению функции цертнаметостр , которую можно использовать для определения ожидаемого значения Publisher атрибута из сертификата.

Примеры

Следующий пример взят из манифеста пакета одного из примеров пакета SDK.

<Identity Name="Microsoft.SDKSamples.ApplicationDataSample" 
          Version="1.0.0.0" 
          Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" />

Требования

Значение
Пространство имен http://schemas.microsoft.com/appx/2010/manifest