Практическое руководство. Подписание манифестов приложения и развертывания
Чтобы опубликовать приложение с помощью ClickOnce-развертывания, манифесты приложений и развертывания должны быть подписаны парой открытого и закрытого ключей и подписаны с помощью технологии Authenticode.Манифест можно подписать с помощью сертификата из хранилища сертификатов Windows или файла ключа.
Дополнительные сведения о развертывании ClickOnce см. в разделе Развертывание и безопасность технологии ClickOnce.
Подписывание манифестов ClickOnce является необязательным для приложений на базе EXE-файла.Дополнительные сведения см. в разделе "Создание неподписанных манифестов" данного документа.
Сведения о создании файлов ключей содержатся в разделе Практическое руководство. Создание пары открытого и закрытого ключей.
![]() |
---|
Visual Studio поддерживает только файлы ключей Personal Information Exchange (PFX) с расширением .pfx.Однако можно выбрать другие типы сертификатов в хранилище сертификатов Windows текущего пользователя, нажав кнопку Выбрать из хранилища на странице Подписывание свойств проекта. |
Для подписывания манифестов приложений и развертывания с использованием сертификата
Перейдите к окну свойств проекта (щелкните узел проектов правой кнопкой мыши в Обозреватель решений и выберите Свойства или введите свойства проекта в окне Быстрый запуск или нажмите сочетание клавиш ALT+ВВОД внутри окна Обозреватель решений).На странице Подписи установите флажок Подписать ClickOnce-манифест.
Нажмите кнопку Выбрать из хранилища.
Откроется диалоговое окно Выберите сертификат. В нем отобразится содержимое магазина сертификатов Windows.
Совет
Если нажать Щелкните здесь, чтобы просмотреть свойства сертификата, откроется диалоговое окно Сведения сертификата.Это диалоговое окно содержит подробные сведения о сертификате, включает дополнительные параметры.Можно нажать кнопку сертификаты, чтобы просмотреть дополнительные сведения.
Выберите сертификат, который требуется использовать для подписывания манифеста.
Кроме того, можно указать адрес сервера отметки времени в текстовом поле URL-адрес сервера штампа времени.Это сервер, обеспечивающий указание штампа времени, когда был подписан манифест.
Для подписывания манифестов приложений и развертывания с помощью существующего файла ключа
На странице Подписи установите флажок Подписать ClickOnce-манифест.
Нажмите кнопку Выбрать из файла.
Появится диалоговое окно Выберите файл.
В диалоговом окне Выберите файл, перейдите к расположению файла ключа (PFX), который требуется использовать, и нажмите Открыть.
Примечание
Можно выбрать только файлы с расширением PFX.Если имеется файл ключа или сертификат в другом формате, сохраните его в хранилище сертификатов Windows и выберите сертификат, как описано в предыдущей процедуре.Назначение выбранного сертификата должно включать подписывание кода.
Отображается диалоговое окно Введите пароль, чтобы открыть файл. (Если файл PFX уже хранится в хранилище сертификатов Windows, или он не защищен паролем, то предложение ввести пароль не появится.)
Введите пароль для доступа к файлу ключа и нажмите клавишу Ввод.
Для подписывания манифестов приложений и развертывания с использованием пробного сертификата
На странице Подписи установите флажок Подписать ClickOnce-манифест.
Чтобы создать новый сертификат для тестирования, нажмите кнопку Создать тестовый сертификат.
В поле Создание тестового сертификата введите пароль для защиты тестового сертификата.
Создание неподписанных манифестов
Подписывание манифестов ClickOnce является необязательным для приложений на базе EXE-файла.Процедура, приведенная ниже, описывает создание неподписанных манифестов ClickOnce-приложений.
![]() |
---|
Неподписанные манифесты могут упростить разработку и проверку приложения.Однако неподписанные манифесты представляют собой большую угрозу безопасности в производственной среде.Использование неподписанных манифестов следует учитывать, только если приложение ClickOnce выполняется на компьютерах, подключенных к интрасети и полностью изолированных от Интернета или других источников вредоносного кода. |
По умолчанию ClickOnce-приложение автоматически создает подписанные манифесты, если специальным образом не исключить определенные файлы из создаваемого хэша.Другими словами, публикация приложения приведет к созданию подписанных манифестов, если все файлы включены в хэш, даже когда флажок Подписать манифесты ClickOnce-приложений снят.
Создание неподписанных манифестов и включение всех файлов в создаваемый хэш
Для создания неподписанных манифестов, которые включают все файлы в хэш, необходимо сначала опубликовать приложение вместе с подписанными манифестами.Следовательно, сначала необходимо подписать манифесты ClickOnce-приложения согласно любой из вышеприведенных процедур и затем опубликовать приложение.
На странице Подписи снимите флажок Подписать манифесты ClickOnce-приложений.
Выполните сброс версии публикации так, чтобы доступной осталась только одна версия приложения.По умолчанию Visual Studio автоматически увеличивает номер редакции версии публикации при каждой публикации приложения.Дополнительные сведения см. в разделе Практическое руководство. Установка версии публикации приложения ClickOnce.
Опубликуйте приложение.
Создание неподписанных манифестов и исключение определенных файлов из создаваемого хэша
На странице Подписи снимите флажок Подписать манифесты ClickOnce-приложений.
Откройте диалоговое окно Файлы приложения и установите для параметра Хэш значение Исключить, чтобы исключить требуемые файлы из создаваемого хэша.
Примечание
При исключении файла из хэша ClickOnce отключает автоматическое создание сигнатур манифестов, следовательно, нет необходимости сначала публиковать приложение с подписанными манифестами, как описывалось в предыдущей процедуре.
Опубликуйте приложение.
См. также
Задачи
Практическое руководство. Создание пары открытого и закрытого ключей
Ссылки
Страница "Подписывание" в конструкторе проектов