Як пройти смарт-екран на Win8 під час встановлення підписаної програми?


80

Ми розробник і маємо програму встановлення цифрових підписів. Коли ми встановлюємо цю програму, вона видає розумний екран, що впливає на досвід встановлення. Він говорить

Windows захистила ваш ПК

Windows SmartScreen запобігла запуску невпізнаної програми. Запуск цієї програми може загрожувати вашому ПК.

Я думаю, що Microsoft має певну стратегію перевірки програми, крім цифрового підпису. Хтось має досвід у цій проблемі, і, будь ласка, підкажіть мені, як вирішити цю проблему?

Відповіді:


47

Якщо ви підписали програму встановлення придбаним сертифікатом із центру сертифікації, вам слід зв’язатися із центром сертифікації для пояснення, чому вони не працюють із корпорацією Майкрософт, щоб позбутися цього попередження.

Якщо сертифікат надійшов не від центру сертифікації, а від власного підпису, вам доведеться вдатися до центру сертифікації.

Корпорація Майкрософт вже має найбільше інформації, опублікованої у своєму блозі команди Windows,

https://blogs.msdn.microsoft.com/ie/2012/08/14/microsoft-smartscreen-extended-validation-ev-code-signing-certificates/

Кращі практики

Розробники все одно повинні дотримуватися найкращих практик, які ми пропонували в минулих публікаціях у блозі. До цього керівництва ми додали додаткові опції розповсюдження програм через Магазин Windows і можливість підписання коду EV:

  • Поширюйте свої програми через Магазин Windows

Програми Windows 8 потрібні, щоб пройти розробницький процес розробника магазину Windows та розглянути програми. Додатки Windows 8 не підпадають під перевірку репутації додатків SmartScreen або попередження в Windows 8.

  • Цифровий підпис ваших програм (підпис стандартного коду або EV)

Репутація формується та призначається цифровим сертифікатам, а також певним файлам. Цифрові сертифікати дозволяють агрегувати дані та призначати їх одному сертифікату, а не багатьом окремим програмам. Хоча програми не підлягають необхідності, програми, підписані сертифікатом підпису коду EV, можуть негайно встановити репутацію за допомогою служб репутації SmartScreen, навіть якщо попередня репутація для цього файлу чи видавця не існує. Сертифікати підпису коду EV також мають унікальний ідентифікатор, що полегшує підтримку репутації під час поновлення сертифікатів. Тільки сертифікати Authenticode, видані центром сертифікації, який є членом програми кореневих сертифікатів Windows, можуть встановити репутацію.

На даний момент Symantec та DigiCert пропонують сертифікати підпису коду EV.

  • Не підписуйте та не поширюйте шкідливий код

Код розповсюдження, виявлений як зловмисний, видалить репутацію з файлу, а також будь-яку репутацію з пов'язаного цифрового сертифіката - навіть якщо він підписаний сертифікатом підпису коду EV.

  • Подайте заявку на отримання логотипу Windows або сертифікації робочого столу для Windows 8

Дізнайтеся більше про ці програми тут: Сертифікація настільних програм для Windows 8 (необхідна для подання в магазині Windows) Програма з логотипом Windows


"Якщо сертифікат не від ЦС, а самопідписаний сертифікат, то доведеться вдатися до ЦС". За допомогою яких джерел доходу любитель або мікро-ІСВ повинен повернути приблизно 110 доларів на рік, що стягують ЦС?
Damian Yerrick

1
"Як ми вже обговорювали раніше, SmartScreen створює репутацію як для окремих програм, так і для сертифіката, який використовується для підпису цього коду". Цитується з посилання на допис у блозі Microsoft. Багато проектів з відкритим кодом покладаються на свою репутацію, тоді як ви також можете попросити спонсора для покриття плати, якщо хочете підписати.
Лекс Лі

48

Ми щойно пройшли весь процес переходу від старого сертифіката Authenticode до нового (не сертифіката EV, просто звичайного сертифіката, який можна використовувати в нашому автоматизованому процесі збірки).

Корпорація Майкрософт більше не надає жодних засобів для перенесення репутації з існуючого сертифікату на новий. Тому не намагайтеся зателефонувати до їхньої служби підтримки. Ви просто витратите багато часу та енергії. І вони не зможуть допомогти.

Microsoft стверджує, що якщо старі та нові сертифікати мають однаковий текстовий вміст, репутація швидше закріплюється. Більш конкретно, ось відповідь, яку я отримав від команди підтримки функції репутації додатка SmartScreen® :

Зверніть увагу, що кожного разу, коли ви поновлюєте сертифікат із відомою репутацією, ви, ймовірно, побачите деякі попередження під час початкових завантажень файлів, підписаних оновленим сертифікатом. Однак відома репутація на оновленому сертифікаті, як правило, встановлюється швидше, ніж на новому сертифікаті. Хоча оновлений сертифікат створює репутацію, користувачі все одно можуть натиснути, щоб запустити або зберегти завантаження. Для цього вони вибирають Дії | Додаткові параметри | У будь-якому випадку запустити з менеджера завантажень.

Найкращий спосіб упевнитись, що SmartScreen не попереджатиме користувачів, - це запустити набір сертифікаційних програм Windows (WACK), який слід включити у завантаження Windows SDK:

Комплект сертифікації додатків Windows

Після запуску тестів WACK пояснює, як діяти далі:

Підсумковий звіт - перевірку прийнято

Завантажте результат XML успішної сертифікації програми на https://sysdev.microsoft.com . Через кілька днів SmartScreen буде в курсі цифрового підпису, який використовується для сертифікованої програми, і більше не буде попереджати користувачів про завантаження.

Примітка. Ми не змогли сертифікувати нашу заявку на останні оновлення Windows 8.1, і нам довелося використовувати чисту інсталяцію Windows 8.1, щоб отримати WACK для успішної перевірки всіх наших програм.


15
Я хотів би зазначити, що цей процес зайняв у мене близько 2 годин (може трохи більше), щоб завершитись. Я не впевнений, що розмір проекту є фактором, але це не 2-хвилинний процес.
leigero


8
Здається, MS відставний sysdev.microsoft.com. Чи знаєте ви, де зараз завантажити файл?
Щвова

2
Здається, MS відставний sysdev.microsoft.com. Чи знаєте ви, де зараз завантажити файл?
Фенікс

2
Натомість подайте файли тут: microsoft.com/en-us/wdsi/filesubmission
Рамі А.

15

Я шукав якийсь час, тож поділюсь тим, що знайшов до цього часу.

Я не знайшов жодної документації про цю функцію в Windows 8 від Microsoft, але, можливо, я просто шукаю не в тих місцях.

Більшість статей, які я читав, обговорюють, що фільтр SmartScreen працює наступним чином:

  • Перш ніж запускати інсталятор або виконуваний файл, який було завантажено, Windows 8 проконсультується з базою даних.
  • База даних може повідомляти, чи була ця програма:
    • повідомляється як зловмисний / фішинг (і перевіряється співробітником Microsoft).
    • використовується / управляється багатьма людьми.

Якщо достатньо людей запустило цей інсталятор, не повідомляючи про нього як про зловмисний, з часом ця програма буде позначена як безпечна, а інші користувачі не отримають настирливого повідомлення.

деякі джерела: ( тут ) ( тут )

Інформація, що надсилається корпорації Майкрософт, коли користувач встановлює програму, включає IP-адресу, хеш програми встановлення та цифровий підпис і, можливо, ім’я файлу програми. ( див. тут )

Співробітники корпорації Майкрософт мали б прямий доступ до бази даних, щоб додавати та позначати безпечними всі програми Microsoft.

Можливо, корпорація Майкрософт створила спосіб попередньої сертифікації вашого установника з ними, якщо ні, то вам може знадобитися почекати, поки достатня кількість людей запустить програму встановлення. (але не впевнений, скільки це буде).


Посилання на log.nadim.cc/?p=78недійсне, і навіть машина «Повернення назад» не розкриває жодного вмісту. Чи є альтернативні місця для вмісту?
Уве Кейм

11

Я щойно пройшов цей процес, і додам до цього трохи шматочків інформації.

1) Отримати EV. Воно того варте. Наступного разу, коли ви оновите свої сертифікати, перейдіть на сертифікат EV. Ціна приблизно на $ 100 більше на рік. Сертифікати EV вважаються більш безпечними, оскільки їх важче вкрасти. Коли вам видадуть апаратний маркерний пристрій, вам видадуть для заповнення знаку. На жаль, остаточний знак не сумісний з автоматизованими збірками.

Це не так страшно, як це звучить. Вони нададуть вам другий сертифікат для підписання ваших виконуваних файлів (всередині інсталятора), який залишається сумісним з автоматизацією. Підпис на програмі встановлення повинен бути підписаний разом із апаратним маркером.

2) Якщо ви не хочете отримувати сертифікат EV, вам потрібна репутація. Якщо ви оновлюєтесь, Microsoft перенесе репутацію зі вашого старого сертифіката на ваш новий. Ви повинні зв’язатися з технічною підтримкою MSDN, і приблизно через тиждень це буде зроблено. Я подав своїх старих та нових установників - зі старими та новими сертифікатами - і вони це виправили.

3) Якщо це ваш перший сертифікат, ви застрягли в SmartScreen, поки не отримаєте репутацію. Ймовірно, вам слід отримати сертифікат вашого додатка через sysdev.microsoft.com. Але насправді невідомо, скільки завантажень потрібно, перш ніж заробити позитивну репутацію в Microsoft.

Це мій досвід.


3
Підкажіть, будь ласка, де подати програму для передачі репутації мого старого сертифіката?
CITBL

1
Я використав свою підписку на MSDN, щоб подати запит на підтримку розробників.
Lompican

2
Я щойно пройшов весь процес з Microsoft. Очевидно, технічна підтримка MSDN більше не надає жодної допомоги по цій темі. Вам дійсно потрібно створити певну репутацію , щоб попередження SmartScreen зникли. Найпростішим було б перевірити свою програму за допомогою набору сертифікатів Windows App, а потім завантажити результати на sysdev.microsoft.com.
П’єр Арно

Чи доступні електромобілі навіть для приватних осіб, на відміну від корпорацій? І які кроки потрібно зробити любителю, щоб зібрати гроші на одного?
Damian Yerrick

5

Оскільки Windows 8.1 вийшов.

  • Корпорація Майкрософт деактивувала всі стандартні сертифікати підпису коду, яким слід довіряти, коли ви завантажуєте їх через Інтернет на свій ПК та намагаєтесь встановити, але програма Стандартні сертифікати підпису коду працює, якщо ви поширюєте свою програму через USB або CD-ROM.

  • Не використовуйте signtool.exeдля перевірки ( signtool.exe verify /pa mysetup.exeбуде показувати успіх, але він не вдасться, коли інші користувачі завантажать його та спробу встановити спливаюче вікно SmartScreen буде відображатися)

Використовуйте комплект сертифікації додатків Windows (WACK)

введіть тут опис зображення

  • Цей стандартний сертифікат підпису коду мертвий. Означає, що якщо у вас є стандартний сертифікат підписання коду, він більше не працюватиме надійно, як це було раніше, навіть незважаючи на те, що набір для сертифікації програм Windows (WACK) відображає PASS with WARNING, не означає, що його 100% перевірка успішності

введіть тут опис зображення

Вам потрібно придбати сертифікат EV ( https://www.globalsign.com/en/code-signing/ )

Отже, щоб досягти 100% успіху, дотримуйтесь подачі ложки:

Крок 1: перейдіть на https://sysdev.microsoft.com та увійдіть

а) Створіть обліковий запис компанії> далі

b) Завантажте файл winqual.exe, який є ZIP-файлом, наданим Microsoft, а тепер підпишіть файл winqual.exe своїм стандартним сертифікатом або сертифікатом EV, а потім натисніть "Далі", щоб завантажити файл для перевірки.

У моєму випадку це не вдалося, оскільки я маю стандартний сертифікат, який Microsoft більше не дозволяє. Отже, все, що вам потрібно зробити зараз, - це придбати ліцензію на електромобіль, інакше ви зіпсувались, і можете витратити все життя, вирішуючи цю проблему, не маючи жодної підказки.

введіть тут опис зображення


4
Це для розробки драйверів.
crea7 або 02

Тож кожному потрібно придбати той сертифікат, який коштує 290 доларів на рік, щоб уникнути смарт-екрану?
user3304007

4

Я протестував рішення для сертифікації EV, і воно працює.

На жаль, я також зазначу, що сертифікати EV несумісні з TeamBuild, який виконує підписання в контексті служби. Сертифікати EV вимагають апаратний маркер, який взаємодіє з постачальником криптографічних послуг, який надається SafeNet, Inc для використання з усіма авторизованими постачальниками сертифікатів EV (VeriSign та DigiCert).

Коли відбувається підписання, драйвери із Safenet запитують пароль, який дещо несумісний із виконанням у контексті служби. Крім того, Safenet забезпечує захист, який запобігає підписанню будь-чого, крім фактичної консолі. Ви навіть не можете підписати з сеансу віддаленого робочого столу. Отже, підписання з Teambuild в кращому випадку є проблематичним, а в гіршому неможливим.

Я працював із Microsoft, і вони не змогли запропонувати обхідний шлях для підписання або будь-який інший спосіб досягти миттєвої репутації під SmartScreen.


1

На жаль, у мене недостатньо представників, щоб просто прокоментувати одну з наведених відповідей. Однак якщо ви вказали часткову довіру для опублікованого додатка (я вибрав зону Інтернету) і на місці має сертифікат про підпис коду, попередження про розумний екран не відображається (перевірено на Win10).


1

Я підписую свою заявку в автоматизованому режимі, використовуючи сертифікат EV на маркері (GlobalSign). Використовуйте файл .bat. у файлі ".bat" введіть ex: (для sha1)

SignTool.exe sign /n "Exact Enterprise name in the cert - token" /t "http://timestamp.globalsign.com/scripts/timstamp.dll" "c:\Patch_to_file\Filename.exe"

"Точне ім'я підприємства в маркері сертифіката" повинно бути точною назвою, яка міститься в сертифікаті (маркері)


1
І це видалило діалогове вікно розумного екрану?
user3304007

0

Msgstr "Версія файлу не сумісна з версією Windows, яку ви використовуєте". Під сервером Windows 2008 жодна кнопка "Докладніше" не дозволяє вибрати встановлення.

Оскільки ми розробляємо програмне забезпечення для настільних комп'ютерів Windows (а не "Програми"), використовуючи продукти, що не належать Microsoft (Delphi), і використовуємо Innosetup для нашого інсталятора, перевірка програми безглузда. Він сидить там 30 хвилин, нічого не роблячи, ми просто запускаємо програму, потім закриваємо програму вручну, і вона створює звіт про проходження.

Ми кодуємо всі наші випуски та всі виконувані файли в них.

Коли ми завантажуємо XML до корпорації Майкрософт, сертифікований XML розміщується на сайті, не пов’язаному з нашим основним обліковим записом розробника, без можливості опублікувати його в магазині Microsoft. На програму витрачається 45 хвилин.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.