Поделиться через


Практическое руководство. Подписание манифестов приложения и развертывания

Чтобы опубликовать приложение с помощью ClickOnce-развертывания, манифесты приложений и развертывания должны быть со строгим именем с парой открытого и закрытого ключей и подписаны с помощью технологии Authenticode. Манифест можно подписать с помощью сертификата из хранилища сертификатов Windows или файла ключа.

Подписывание манифестов ClickOnce является необязательным для приложений на базе EXE-файла. Дополнительные сведения см. в разделе "Создание неподписанных манифестов" данного документа.

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

Примечание

Visual Studio поддерживает только файлы ключей Personal Information Exchange (PFX) с расширением .pfx.Однако можно выбрать другие типы сертификатов из хранилища сертификатов текущего пользователя Windows, используя Диалоговое окно "Выберите сертификат" чтобы подписать манифест.

Можно подписать манифесты приложения и развертывания с помощью параметров на странице Подписи в Конструкторе проектов. Дополнительные сведения см. в разделе Страница "Подписывание" в конструкторе проектов.

Следующие процедуры применимы только к подписыванию манифестов приложений и развертывания. Сведения о подписывании сборки см. в разделе Практическое руководство. Подписывание сборки (Visual Studio).

Для доступа к странице подписывания

  1. Для выбранного в обозревателе решений узла проекта в меню Проект нажмите кнопку Свойства (или щелкните правой кнопкой мыши узел проекта в обозревателе решений и щелкните Свойства).

  2. В Конструкторе проектов перейдите на вкладку Подписи.

Для подписывания манифестов приложений и развертывания с использованием сертификата

  1. На странице Подписи установите флажок Подписать ClickOnce-манифест.

  2. Нажмите кнопку Выбрать из хранилища.

    Откроется Диалоговое окно "Выберите сертификат", в котором отобразится содержимое хранилища сертификатов Windows.

  3. Выберите сертификат, который требуется использовать для подписывания манифеста.

  4. Кроме того, можно указать адрес сервера отметки времени в текстовом поле URL-адрес сервера штампа времени. Это сервер, обеспечивающий указание штампа времени, когда был подписан манифест.

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

  1. На странице Подписи установите флажок Подписать ClickOnce-манифест.

  2. Нажмите кнопку Выбрать из файла.

    Появится диалоговое окно Выберите файл.

  3. В диалоговом окне Выберите файл, перейдите к расположению файла ключа (PFX), который требуется использовать, и нажмите Открыть.

    Примечание

    Можно выбрать только файлы с расширением PFX.Если имеется файл ключа или сертификат в другом формате, сохраните его в хранилище сертификатов Windows и выберите сертификат, как описано в предыдущей процедуре.Назначение выбранного сертификата должно включать подписывание кода.

    Появится диалоговое окно Диалоговое окно "Введите пароль, чтобы открыть файл". (Если файл PFX уже хранится в хранилище сертификатов Windows, или он не защищен паролем, то предложение ввести пароль не появится.)

  4. Введите пароль для доступа к файлу ключа и нажмите клавишу Ввод.

Для подписывания манифестов приложений и развертывания с использованием пробного сертификата

  1. На странице Подписи установите флажок Подписать ClickOnce-манифест.

  2. Чтобы создать новый сертификат для тестирования, нажмите кнопку Создать тестовый сертификат.

  3. В Диалоговое окно "Создание тестового сертификата" введите пароль для защиты тестового сертификата.

Создание неподписанных манифестов

Подписывание манифестов ClickOnce является необязательным для приложений на базе EXE-файла. Процедура, приведенная ниже, описывает создание неподписанных манифестов ClickOnce-приложений.

Важно!

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

По умолчанию ClickOnce-приложение автоматически создает подписанные манифесты, если специальным образом не исключить определенные файлы из создаваемого хэша. Другими словами, публикация приложения приведет к созданию подписанных манифестов, если все файлы включены в хэш, даже когда флажок Подписать манифесты ClickOnce-приложений снят.

Создание неподписанных манифестов и включение всех файлов в создаваемый хэш

  1. Для создания неподписанных манифестов, которые включают все файлы в хэш, необходимо сначала опубликовать приложение вместе с подписанными манифестами. Следовательно, сначала необходимо подписать манифесты ClickOnce-приложения согласно любой из вышеприведенных процедур и затем опубликовать приложение.

  2. На странице Подписи снимите флажок Подписать манифесты ClickOnce-приложений.

  3. Выполните сброс версии публикации так, чтобы доступной осталась только одна версия приложения. По умолчанию Visual Studio автоматически увеличивает номер редакции версии публикации при каждой публикации приложения. Дополнительные сведения см. в разделе Практическое руководство. Установка версии публикации приложения ClickOnce.

  4. Опубликуйте приложение.

Создание неподписанных манифестов и исключение определенных файлов из создаваемого хэша

  1. На странице Подписи снимите флажок Подписать манифесты ClickOnce-приложений.

  2. Откройте диалоговое окно Файлы приложения и установите для параметра Хэш значение Исключить, чтобы исключить требуемые файлы из создаваемого хэша.

    Примечание

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

  3. Опубликуйте приложение.

См. также

Задачи

Практическое руководство. Создание пары открытого и закрытого ключей

Практическое руководство. Откладывание подписания сборки (Visual Studio)

Ссылки

Страница "Подписывание" в конструкторе проектов

Основные понятия

Сборки со строгими именами

Развертывание и безопасность технологии ClickOnce