У меня есть действительный сертификат подписи кода с неистекшим сроком действия (стандартный, а не EV), который я использовал для успешной подписи приложения «щелчок один раз» (.net 4.5) и публикации на веб-сервере для загрузки. При загрузке этого приложения оно правильно показывает имя издателя. Проблема в том, что после установки сертификата подписи кода в любом другом приложении оно показывает имя издателя как Неизвестный издатель при загрузке. Нет никакой разницы в том, как я устанавливаю сертификат, и все приложения публикуются на одном и том же веб-сервере. Когда я открываю файл .exe или манифест при входе на веб-сервер, он правильно показывает имя издателя. Проверка свойств файла цифровых подписей показывает, что они подписаны с помощью правильного сертификата подписи кода с sha256. Ниже приведены шаги, которые я использовал:
- Установленный сертификат подписи кода, чтобы щелкнуть приложение один раз на вкладке «Подписание», и он включен (Visual Studio 2017 Pro).
- Алгоритм подписи кода — sha256RSA с действительным сервером меток времени (http://timestamp.comodoca.com/?td=sha256).
- Нажмите, если сборка приложения не подписана.
- Сертификат подписи кода был установлен на компьютере разработчика (Windows 10 Pro 1809).
- Сертификат подписи кода был установлен на веб-сервере в доверенных корневых центрах сертификации и промежуточных центрах сертификации (Windows 2012 R2 с использованием IIS 8) для учетной записи компьютера.
Кстати, я экспортировал сертификат подписи кода из Internet Explorer с помощью SHA1 и впоследствии установил его на веб-сервер. Существует известная проблема, заключающаяся в том, что при экспорте сертификата в SHA256 и попытке импортировать его на веб-сервер пароль для файла всегда будет неверным. Это случилось со мной, поэтому я просто импортировал версию SHA1 на веб-сервер. Не уверен, что это создаст какие-либо проблемы, но приложение с одним кликом работает нормально.
Обновление: я заметил кое-что странное, когда перехожу по URL-адресу публикации и нажимаю кнопку "Установить". После того, как setup.exe был загружен для приложений clickonce с неизвестными издателями, мне представлен более ужасный интеллектуальный экранный фильтр, в котором говорится, что файл не подписан, но показывает правильную информацию об издателе под ним. Проверка свойства цифровых подписей для исполняемого файла показывает, что он подписан правильно.
signtool verify /all old.exe new.exe
и опубликовать результат? - person kichik   schedule 27.06.2020