Setup.exe запускает загрузку файла Windows SmartScreen

Я создал файл Setup.exe, сгенерированный из проекта установки Visual Studio. У меня есть сертификат подписи кода, который моя компания купила у Digicert, и мы использовали его для других продуктов, так что это должно быть хорошо. Я установил событие после сборки, чтобы подписать свое приложение, и я использую signtool.exe, чтобы подписать получившиеся MSI и setup.exe, поэтому все должно быть успешно подписано. Если я запускаю какой-либо вид проверки подписи или просматриваю свойства файла, он показывает мой цифровой сертификат.

Если я размещу этот файл Setup.exe в IIS (8.5), разрешу просмотр каталогов и настрою тип MIME, чтобы разрешить загрузку файла, я смогу загрузить этот файл Setup.exe на свой компьютер из браузера. Если я запускаю его, я получаю фильтр Windows SmartScreen, который говорит, что это нераспознанное приложение. Под этим написано, что издатель неизвестен. Если этот же файл setup.exe не загружен через IIS и, например, скопирован с одного компьютера на другой и выполнен, фильтр Windows SmartScreen отсутствует. Таким образом, похоже, что эта проблема вызвана загрузкой из IIS. Есть ли способ обойти эту проблему?

1 ответ

Решение

Я обнаружил, в чем проблема. Согласно этой статье: http://social.technet.microsoft.com/wiki/contents/articles/32288.windows-enforcement-of-authenticode-code-signing-and-timestamping.aspx

Это объясняет, что начиная с 01.01.2016 MS больше не будет доверять новому коду, подписанному сертификатами подписи кода SHA-1, что я и использовал. Я переключился на новый сертификат, и проблема была решена.

Другие вопросы по тегам