Фильтр SmartScreen от Microsoft под Windows 8 - худший кошмар для мелких разработчиков.
Хотя я осознаю преимущества для конечных пользователей и эффективность предотвращения установки вредоносных программ на компьютеры конечных пользователей, я и многие другие разработчики предпочли бы не платить сборы за ежегодное продление сертификата подписи кода или, что еще хуже, электромобиля. Сертификат подписи кода. Кроме того, когда продукты, разработанные для использования внутри компании, подписываются доверенным сертификатом от внутреннего центра сертификации, хранящимся в хранилище доверенных издателей, они все равно становятся жертвами чрезмерного поведения фильтра.
Раньше разработчики и администраторы могли отключать предупреждения и подсказки, устанавливая сертификат подписи кода издателя в хранилище доверенных издателей. Креативные разработчики могли установить там свой самозаверяющий сертификат подписи кода, если они установят предварительно подписанный и отмеченный временем с оплаченным сертификатом подписи кода Authenticode. После этого программы, подписанные издателем, будут считаться доверенными и не будут отключать сигналы тревоги фильтра SmartScreen. По сути, после того, как издатель получил доверие, он освобождался от регулярных сборов.
Недавние изменения в фильтре SmartScreen (и его включение в качестве «функции» ОС в Windows 8) ясно дают понять, что Microsoft хочет, чтобы вы купили сертификат подписи кода вместо того, чтобы творчески работать над проблемой, которую они создали для вас. Кто-нибудь обнаружил новый метод доверия издателям, которые по умолчанию используют свои самозаверяющие сертификаты подписи кода (т. Е. Не отображают запросы)? Что могут сделать конечные пользователи, если не считать полного отключения фильтра, чтобы фильтр SmartScreen знал, что он всегда доверяет самозаверяющему сертификату?
Обратите внимание, что покупка сертификата подписи кода не является ответом на этот вопрос. Я ищу способ сообщить SmartScreen Filter о том, что он доверяет издателю, который не приобретает сертификаты из внешнего источника, а вместо этого выдает собственные сертификаты для использования внутри своей организации.
ОБНОВЛЕНИЕ: я думаю, что нашел обходной путь! Из MSDN, фильтр SmartScreen можно отключить в Windows 8 и Internet Explorer 10 для сайтов, перечисленных как «Надежные сайты». Если бы кто-нибудь мог убедиться, что этот метод работает для программ установки, загружаемых и запускаемых с надежного сайта в Windows 8, это было бы очень полезно и помогло бы многим независимым поставщикам программного обеспечения и внутренним командам разработчиков. Это также было бы обходным путем, чтобы ответить на этот вопрос. Надежные сайты можно настроить с помощью групповой политики, так что оттуда это будет просто.
Программно отключить фильтр SmartScreen для зоны надежных сайтов можно, установив либо HKLM \ Software \ Policies \ Microsoft \ Windows \ CurrentVersion \ Internet Settings \ Zones \ 2! 2301 для машины, либо HKCU \ Software \ Policies \ Microsoft \ Windows \ CurrentVersion \ Internet Settings \ Zones \ 2! 2301 для пользователя на 0, а добавление доверенного сайта в зону надежных сайтов можно выполнить, как показано в этот вопрос.
Может ли кто-нибудь убедиться, что предлагаемый мной обходной путь работает в Windows 8 для неподписанного или самозаверяющего исполняемого файла, загруженного с надежного сайта? Я сам не использую Windows 8, потратив свой бюджет на обновление ОС на плату за сертификаты.