Здравствуйте, sushko, Вы писали:
S>Собираю дистрибутив, подписываю его электронной подписью (COMODO), проверяю подпись (в Проводнике правой кнопкой мыши на файле, и выбираю Свойства) — все OK. Выкладываю дистрибутив на сервер, скачиваю его же с сервера — в нижней части IE открывает окошко с красной рамочкой, в которой написано "подпись SETUP.EXE повреждена или недопустима". Запускаю скачанный файл — возбуждается окно SmartScreen, кот. говорит. что "система Windows защитила ваш компьютер" и запустить его не дает. Запускаю исходный файл — он прекрасно запускается. Сравниваю два файла (исходный и скачанный) побайтно — они идентичны. Проверяю подпись скачанного файла (правой кнопкой мыши на файле, и потом Свойства) — подпись показывает корректно.
S>Кто виноват и, главное, что делать?
Programs signed by an EV code signing certificate can immediately establish reputation with Microsoft SmartScreen
reputation services—even if no prior reputation exists for that file or publisher. Now, even brand new publishers
have and benefit from an immediate reputation.
Все EV-серты сейчас только SHA-2, так что двух зайцев сразу. Хотя получить EV сложнее, чем Standard Code Signing.
Собираю дистрибутив, подписываю его электронной подписью (COMODO), проверяю подпись (в Проводнике правой кнопкой мыши на файле, и выбираю Свойства) — все OK. Выкладываю дистрибутив на сервер, скачиваю его же с сервера — в нижней части IE открывает окошко с красной рамочкой, в которой написано "подпись SETUP.EXE повреждена или недопустима". Запускаю скачанный файл — возбуждается окно SmartScreen, кот. говорит. что "система Windows защитила ваш компьютер" и запустить его не дает. Запускаю исходный файл — он прекрасно запускается. Сравниваю два файла (исходный и скачанный) побайтно — они идентичны. Проверяю подпись скачанного файла (правой кнопкой мыши на файле, и потом Свойства) — подпись показывает корректно.
Здравствуйте, PHPRunner, Вы писали:
PHP>У вас скорее ситуация другая, но вот по отличие локальных файлов и тех которые скачаны из интернета и побайтово одинаковы: PHP>http://habrahabr.ru/company/infopulse/blog/274183/
Я понимаю, что при скачивании Windows (или Explorer) куда-то ставит какой-то флаг, приведенная Вами статья объясняет, куда она его ставит, но вопрос был не в том, где искать этот файл, а что делать, чтобы на компьютере конечного пользователя Windows не параноил над благополучно подписанным файлом.
Вчера вечером висел на телефоне с COMODO минут сорок, они выписали мне новый сертификат SHA2, я подписал им EXE, выложил на сервер, теперь при скачивании ругается, что "этот файл скачивают редко, и он может нанести вред компьютеру". По идее это означает, что проблему мы победили (такое всегда бывает при смене сертификата подписи), но в св-вах скачанного файла Windows опять показывает подпись SHA1. Ничего не понимаю...
Здравствуйте, sushko, Вы писали:
S>Здравствуйте, PHPRunner, Вы писали:
PHP>>У вас скорее ситуация другая, но вот по отличие локальных файлов и тех которые скачаны из интернета и побайтово одинаковы: PHP>>http://habrahabr.ru/company/infopulse/blog/274183/
S>Я понимаю, что при скачивании Windows (или Explorer) куда-то ставит какой-то флаг, приведенная Вами статья объясняет, куда она его ставит, но вопрос был не в том, где искать этот файл, а что делать, чтобы на компьютере конечного пользователя Windows не параноил над благополучно подписанным файлом.
S>Вчера вечером висел на телефоне с COMODO минут сорок, они выписали мне новый сертификат SHA2, я подписал им EXE, выложил на сервер, теперь при скачивании ругается, что "этот файл скачивают редко, и он может нанести вред компьютеру". По идее это означает, что проблему мы победили (такое всегда бывает при смене сертификата подписи), но в св-вах скачанного файла Windows опять показывает подпись SHA1. Ничего не понимаю...
Да, победили. Все нормально, немного покачают, наберется статистика и файл станет известным. Такая уж у них дурь.
А на счет SHA-1: смотри не на эту надпись а на Алгоритм Хэширования Подписи. Он должен быть SHA256 теперь.
Здравствуйте, okman, Вы писали:
O>Здравствуйте, sushko, Вы писали:
S>>Кто виноват и, главное, что делать?
O>SmartScreen можно быстро победить только одним способом — купить EV-сертификат и подписывать файлы им. O>DigiCert, например, про свои EV так пишет:
O>Extended Validation (EV) Code Signing Certificate O>https://www.digicert.com/ppc/ev-code-signing.htm?gclid=CNOntsvNtcoCFcXTcgodnZoN5Q
Здравствуйте, okman, Вы писали:
O>Здравствуйте, wantus, Вы писали:
W>>Это affiliate link что ли? Ай-яй-яй.
O>Я не знаю, что такое affiliate link и почему "ай-яй-яй". O>
Загуглил — это какой-то google click id. Мои извинения. "Ай-яй-яй" отменяется, но на 50% офф я вынужден настоять.
Здравствуйте, sushko, Вы писали:
S>Кто виноват и, главное, что делать?
У меня немного иначе. Перешел на sha2 (добавив ключ signtool /fd sha256). Подписывал 4 января, закачал на сайт, скачал — всё ок. 14 января получаю фидбэк, что SmartScreen не даёт запустить на Windows 10. Скачиваю хромом — и правда не даёт — "this file was not commonly downloaded...", проверил на 10 и 8.1 (в Win10 и 8 SmartScreen на всю систему, а не только в IE). Срочно перезалил версию подписаную sha1 31 декабря (специально заготовил на такой случай). Всё нормально. Порыл инет — нигде ничего свежего, кроме напоминания, что подписи нужен траст (как обычно бывает при новом сертификате) и рекламы EV. Но у меня сертификат то старый, просто алгоритм дайджеста сменился. Да и работало всё после 1 января — сам проверял!..
Решилось просто — за неделю на менее критичных продуктах набрался траст и теперь со вчерашнего дня SmartScreen больше не ругается (тьфу x3).
Видимо, с последним обнолвением SmartScreen похерились, возможно частично, базы трастов сертификатов, т.к. дурить он начал сразу же после обновления.
Здравствуйте, М.Р., Вы писали:
МР>Видимо, с последним обнолвением SmartScreen похерились, возможно частично, базы трастов сертификатов, т.к. дурить он начал сразу же после обновления.
Здравствуйте, М.Р., Вы писали:
МР>У меня немного иначе. Перешел на sha2 (добавив ключ signtool /fd sha256).
хмм, я а ничего не добавлял, ещё год назад получил новый сертификат летом подписал как обычно и всё, сейчас из-за этой темы посмотрел, файлы подписаны sha256
Здравствуйте, uuuser, Вы писали:
U>Здравствуйте, М.Р., Вы писали:
МР>>У меня немного иначе. Перешел на sha2 (добавив ключ signtool /fd sha256). U>хмм, я а ничего не добавлял, ещё год назад получил новый сертификат летом подписал как обычно и всё, сейчас из-за этой темы посмотрел, файлы подписаны sha256
Если signtool из относительно нового SDK (не помню точно, какой именно должен быть), то она уже по-умолчанию использует sha256. У меня signtool из SDK 7.1A, там еще sha1 стоит по-умолчанию.
Здравствуйте, М.Р., Вы писали:
МР>>>У меня немного иначе. Перешел на sha2 (добавив ключ signtool /fd sha256). U>>хмм, я а ничего не добавлял, ещё год назад получил новый сертификат летом подписал как обычно и всё, сейчас из-за этой темы посмотрел, файлы подписаны sha256 МР>Если signtool из относительно нового SDK (не помню точно, какой именно должен быть), то она уже по-умолчанию использует sha256. У меня signtool из SDK 7.1A, там еще sha1 стоит по-умолчанию.
блин, ступил, sha256 в самом сертификате, а файлы подписаны sha1, надо будет переподписать.
Здравствуйте, М.Р., Вы писали:
МР>Траст на сертификат.
Уточнить хочу, правильно ли я понял, если один подписанный файл заработал доверие, то все остальные (обновления, и просто другие продукты) подписанные тем же сертификатом качаются уже без вопросов? А при продлении сертификата сохраняется траст?
Здравствуйте, vf, Вы писали:
vf>Уточнить хочу, правильно ли я понял, если один подписанный файл заработал доверие, то все остальные (обновления, и просто другие продукты) подписанные тем же сертификатом качаются уже без вопросов?
Скорее всего да. У меня три проекта, как только на один смартскрин перестал возбуждаться, так сразу же и на других это прошло.
Но пользователей дофига, поэтому порог перехода из одного состояния в другое не подскажу.
Здравствуйте, rkcsoft, Вы писали:
R>Здравствуйте, vf, Вы писали:
vf>>Уточнить хочу, правильно ли я понял, если один подписанный файл заработал доверие, то все остальные (обновления, и просто другие продукты) подписанные тем же сертификатом качаются уже без вопросов?
R>Скорее всего да. У меня три проекта, как только на один смартскрин перестал возбуждаться, так сразу же и на других это прошло.
Здравствуйте, wantus, Вы писали:
W>Это просто совпало, скорее всего. SmartScreen'овский траст — он per-application.
При подписи как-то указывается уникальный application id? Не совсем понимаю, как МС определяет, что файл является обновлением доверенного application?
И наоборот, если это так, что мешает разработчику использовать один application id для всех продуктов, чтобы сразу получать траст?
Практика говорит, что траст даётся на сертификат. Теория, та, что по Вашей ссылке, тоже это подтверждает:
Reputation for unsigned software is based on fingerprints while reputation based on signed software is based on the associated code signing certificate and the reputation of the CA that issued the code signing certificate.
И действительно, какие у SmartScreen объективные входные данные, чтобы отличить одно приложение от другого? Никаких, только сертификат. Иначе нужно было бы регистрировать приложение где-то (по типу апп-сторов).
Здравствуйте, vf, Вы писали:
vf>Уточнить хочу, правильно ли я понял, если один подписанный файл заработал доверие, то все остальные (обновления, и просто другие продукты) подписанные тем же сертификатом качаются уже без вопросов?
Всё верно.
vf>А при продлении сертификата сохраняется траст?
Как я понимаю этот процесс, и с чем сталкивался на практике — с точки зрения цифровой подписи, продления как такового не существует. То есть, вам выдают новый сертификат с новыми сроками истечения. А далее — новый сертификат, соответственно, новый траст. А продлением это называется лишь со стороны бизнес процессов CA (возможно, Вам не придется проходить повторную валидацию), ну и цена может быть ниже, чем изначальная покупка.
Здравствуйте, sushko, Вы писали:
S>Выкладываю дистрибутив на сервер, скачиваю его же с сервера — в нижней части IE открывает окошко с красной рамочкой, в которой написано "подпись SETUP.EXE повреждена или недопустима".
У меня эта хрень выдает сообщения про "поврежденные файлы" у дров Radeon и кучи другого софта. Может, у разработчиков SmartScreen просто руки из жопы?