Unsign clickonce манифест, если сертификат не доступен в магазине - PullRequest
0 голосов
/ 16 декабря 2018

В настоящее время я подписываю свой манифест и исполняемый файл, используя сертификат в хранилище (на моем CI-сервере).Как мы знаем, он использует поле «ManifestCertificateThumbprint», чтобы найти файл сертификата и подписывает, используя этот сертификат.

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

Я надеюсь на решение, в котором я просто хочу пропустить (без подписи) манифесты, если сертификат не доступен в хранилище в скрипте сборки.

TL / DR:

  • Мы могли бы легко проверить подписываемый исполняемый файл (проверив вкладку « Цифровая подпись » для project.exe из свойств файла) и подписав манифест (проверив наличие «* 1014»).* publisherIdentity"запись в файле манифеста / xml).
  • Мы отметили / включили обе следующие опции в моем проекте:
    • Безопасность -> «Включить настройки безопасности Clickonce» (подписывает exe)
    • Подписание -> «ПодписатьМанифест Clickonce "(подписывает приложение, манифест развертывания)
  • Отключение подписания манифеста для разработчиков и тестовых виртуальных машин не повредит, поскольку наш сервер CI (Jenkins) имеет сертификат и будетпроизводить подписанные манифесты при строительстве.
...