Здравствуйте, Аноним, Вы писали:
А>Здравствуйте,
А>Подскажите, пожалуйста, как подписать свое приложение, чтобы не было сообщений от Windows, что издатель неизвестен. Я тут сидел, разбирался, и решил, что все нужно делать так:
А>1) Заходим сюда: http://www.certum.eu/certum/cert,offer_en_standard_code_signing.xml А>2) Покупаем сертификат на год, на частное лицо (к примеру) А>3) Они вышлют мне, наверное, файл-сертификат А>4) Затем я с помощью SignTool от Microsoft (где ее взять, кстати, если используешь Delphi, а не Студию?) подписываешь exe-шник полученным сертификатом А>5) И все? Или еще можно подписать инсталлятор, сделанный с помощью InnoSetup?
А>Правильно ли я описал алгоритм? Или нет? Как реально подписать свое ПО?
Все в целом правильно.
signtool входит в Windows SDK, а также в Windows Driver Kits — можно ставить один из этих
продуктов, указывая только необходимые компоненты, без сорцов, библиотек и заголовков.
Да вроде бы на Microsoft можно где-то скачать пакет, включающий только утилиты для
подписи файлов и управления сертификатами. Поищите, я на VeriSign, по-моему, видел ссылку.
В процессе подписи не забудьте указать штамп времени, без этого подпись станет невалидной
по истечении срока действия сертификата, а со штампом ее валидность сохранится.
Для штампа времени можно указать timestamp-сервер VeriSign (бесплатно): signtool.exe sign ... (всякие опции) /t httр://timestamp.verisign.com/scripts/timestamp.dll файл
Подписывать желательно не только exe и dll программы, но и сам файл инсталлятора (exe или msi).
В этом случае сообщение Windows все равно появится, но будет серого, а не оранжевого цвета, и
вместо "Неизвестный издатель" будет указано имя, на которое получен сертификат (Subject Name).
"Неизвестный издатель" как бороться?
От:
Аноним
Дата:
05.02.12 11:18
Оценка:
Здравствуйте,
Подскажите, пожалуйста, как подписать свое приложение, чтобы не было сообщений от Windows, что издатель неизвестен. Я тут сидел, разбирался, и решил, что все нужно делать так:
1) Заходим сюда: http://www.certum.eu/certum/cert,offer_en_standard_code_signing.xml
2) Покупаем сертификат на год, на частное лицо (к примеру)
3) Они вышлют мне, наверное, файл-сертификат
4) Затем я с помощью SignTool от Microsoft (где ее взять, кстати, если используешь Delphi, а не Студию?) подписываешь exe-шник полученным сертификатом
5) И все? Или еще можно подписать инсталлятор, сделанный с помощью InnoSetup?
Правильно ли я описал алгоритм? Или нет? Как реально подписать свое ПО?
У меня на блоге верхний пост про получение сертификата на частное лицо от startssl, гляньте, возможно пригодится.
В целом у вас все верно написано, когда сертификат есть — все дальше просто. Подписывать, естественно, имеет смысл и инсталлятор и экзешник.
хотел уже на боковую
папаху снял и сапоги
но в комментариях проснулись
враги
Во-первых, для успешной борьбы с "неизвестным издателем" нужно, чтобы корневой сертификат
той организации, которая выдаст сертификат вам, уже находился в хранилище сертификатов на
всех целевых версиях Windows. Нужный корневой сертификат может попасть туда через
Windows Update или службу обновления сертификатов, но на девственно чистых машинах его
может и не оказаться. Это важно. Если у пользователя в процессе проверки цифровой
подписи вашего файла будет отключен интернет, он, скорее всего, увидит то самое окно,
против которого вы пытаетесь бороться.
Во-вторых, корневой сертификат должен иметь достаточно долгий срок действия.
Например, один из сертификатов GlobalSign заканчивается в 2014 году — после этого
все, что было подписано его "потомками", станет недействительным.
При заказе сертификата желательно прояснять эти моменты сразу.
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте,
А>Подскажите, пожалуйста, как подписать свое приложение, чтобы не было сообщений от Windows, что издатель неизвестен.
Я в свое время потратил примерно месяц на получение сертфиката. Была морока с телефонной квитанцией.
Оно конечно теперь греет что сертификат есть. Но никакого особенного прироста продаж я не заметил.
Больше того IE9 smart screen filter все рано ругается при загрузке даже подписанного exe-шника.
Довольно много крупных поставщиков ПО не запариваются с сертификатами — взять например evernote.
И пользователи возможно привыкли давить OK и Next.
Здравствуйте, Matrix_Failure, Вы писали:
M_F>Больше того IE9 smart screen filter все рано ругается при загрузке даже подписанного exe-шника.
Если я правильно понял МС, на подписанный экзешник они перестают ругаться быстрее(то есть за меньшее число загрузок). А на последующие приложения с тем же сертификатом еще быстрее.
По моим ощущениям, несколько сотен загрузок хватает. (если ты конечно про "Файл загружается необычным образом/The file is not commonly downloaded")
хотел уже на боковую
папаху снял и сапоги
но в комментариях проснулись
враги
> M_F>Больше того IE9 smart screen filter все рано ругается при загрузке даже подписанного exe-шника. > > Если я правильно понял МС, на подписанный экзешник они перестают ругаться быстрее(то есть за меньшее число загрузок). А на последующие приложения с тем же сертификатом еще быстрее. > > По моим ощущениям, несколько сотен загрузок хватает. (если ты конечно про "Файл загружается необычным образом/The file is not commonly downloaded")
Проясни пожалуста, несколько сотен загрузок каких? Не могу понять ситуацию, IE9 нет у меня.
Здравствуйте, grosborn, Вы писали: >> По моим ощущениям, несколько сотен загрузок хватает. (если ты конечно про "Файл загружается необычным образом/The file is not commonly downloaded")
G>Проясни пожалуста, несколько сотен загрузок каких? Не могу понять ситуацию, IE9 нет у меня.
А чего там понимать?
Если .EXE файл не был скачан с помощью другими пользователями IE9 больше 9000 (или сколько-там) раз, то IE9 выдает сообщение:
"Файл загружается необычным образом/The file is not commonly downloaded".
Далее IE9 предлагает удалить exe файл. А чтобы не удалять, пользователю надо делать особые "телодвижения".
IE9 ругается даже на подписанные Verysign-ом EXE-файлы.
> G>Проясни пожалуста, несколько сотен загрузок каких? Не могу понять ситуацию, IE9 нет у меня. > > А чего там понимать? > > Если .EXE файл не был скачан с помощью другими пользователями IE9 больше 9000 (или сколько-там) раз, то IE9 выдает сообщение: > > "Файл загружается необычным образом/The file is not commonly downloaded". > > Далее IE9 предлагает удалить exe файл. А чтобы не удалять, пользователю надо делать особые "телодвижения". > > IE9 ругается даже на подписанные Verysign-ом EXE-файлы.
То есть как-то система запоминает на серверах количество обращений по этому файлу, потом уже поведение IE у всех пользователей при проверке этого файла меняется? То есть файл становится валидным и его последующие версии тоже или нет? Скажем версию 132 качали, выкладываю версию 133 она будет ругаться?
> M_F>IE9 ругается даже на подписанные EXE-файлы. > > Сейчас глянул — у меня уже не ругается. > > Но прошел уже почти год с тех пор как я на одной из страниц разместил ссылку на EXE файл вместо ZIP.
Теперь не ругается на все тобой подписанные файлы? То есть признан твой сертификат?
Здравствуйте, grosborn, Вы писали:
G>То есть как-то система запоминает на серверах количество обращений по этому файлу, потом уже поведение IE у всех пользователей при проверке этого файла меняется? То есть файл становится валидным и его последующие версии тоже или нет? Скажем версию 132 качали, выкладываю версию 133 она будет ругаться?
На последующие версии ругаться будет. Но, как я выше написал, быстрее перестанет.
Хотя, конечно, кто их, майкрософтов знает, что им взбредет в голову поменять в следующем апдейте этого своего фильтра. Но сейчас так.
хотел уже на боковую
папаху снял и сапоги
но в комментариях проснулись
враги
Здравствуйте, Brice Tribbiani, Вы писали:
BT>У меня на блоге верхний пост про получение сертификата на частное лицо от startssl, гляньте, возможно пригодится.
Здравствуйте, CRT, Вы писали:
CRT>Здравствуйте, Brice Tribbiani, Вы писали:
BT>>У меня на блоге верхний пост про получение сертификата на частное лицо от startssl, гляньте, возможно пригодится.
CRT>а почему он такой дешевый, в чем засада?
Самому интересно
Пока проблем не обнаружил. Вроде как в старых виндах, типа XP без сервиспаков и более древних нет их корневого сертификата.
хотел уже на боковую
папаху снял и сапоги
но в комментариях проснулись
враги
Здравствуйте, Brice Tribbiani, Вы писали:
BT>Самому интересно BT>Пока проблем не обнаружил. Вроде как в старых виндах, типа XP без сервиспаков и более древних нет их корневого сертификата.
сейчас посмотрел на Windows 7 на виртуальной машине, без обновлений. Корневого сертификата StartCom (которыми startssl торгует), как и Certum там нету.
Это очень плохо или не очень? Или я чего то не понимаю?
M_F>Я в свое время потратил примерно месяц на получение сертфиката. Была морока с телефонной квитанцией.
M_F>Оно конечно теперь греет что сертификат есть. Но никакого особенного прироста продаж я не заметил. M_F>Больше того IE9 smart screen filter все рано ругается при загрузке даже подписанного exe-шника.
Ваш софт нацелен на профессионалов или чайников? Имхо профессионалам на сертификат пофиг.
Здравствуйте, CRT, Вы писали:
CRT>Здравствуйте, Brice Tribbiani, Вы писали:
BT>>Самому интересно BT>>Пока проблем не обнаружил. Вроде как в старых виндах, типа XP без сервиспаков и более древних нет их корневого сертификата.
CRT>сейчас посмотрел на Windows 7 на виртуальной машине, без обновлений. Корневого сертификата StartCom (которыми startssl торгует), как и Certum там нету. CRT>Это очень плохо или не очень? Или я чего то не понимаю?
А попробуйте мою софтину поставить Без инета и с инетом. здесь
хотел уже на боковую
папаху снял и сапоги
но в комментариях проснулись
враги
Здравствуйте, Brice Tribbiani, Вы писали:
BT>А попробуйте мою софтину поставить Без инета и с инетом. BT>здесь
Вобщем попробовал.
Скачал на основную систему, а потом перекинул файл на чистую винду 7 64 бит в виртуальную машину (браузером не скачивал на всякий случай — вдруг IE smartscreen может сертификат во время проверки установить).
Попробовал без интернета запустить файл — выдает "Unknown publisher". Хотя в свойствах файла показывает certificate OK
Потом включил интернет, и тут я неправильно сделал, не совсем чистый эксперимент получился. Вместо того чтобы запустить файл я полез в его свойства цифровой подписи, он подвис на несколько секунд, показал что все ОК. Возможно в это время он установил сертификат.
Здравствуйте, CRT, Вы писали:
CRT>Вобщем попробовал.
Понятно, спасибо.
Значит, если у пользователя нет инета(и не установлены апдейты) — будет неизвестный издатель, с инетом- все ОК, с апдейтами — возможно тоже.
Меня устраивает, в принципе
А чьи сертификаты есть сразу?
хотел уже на боковую
папаху снял и сапоги
но в комментариях проснулись
враги
Здравствуйте, Brice Tribbiani, Вы писали:
BT>Здравствуйте, CRT, Вы писали:
CRT>>Вобщем попробовал.
BT>Понятно, спасибо. BT>Значит, если у пользователя нет инета(и не установлены апдейты) — будет неизвестный издатель, с инетом- все ОК, с апдейтами — возможно тоже. BT>Меня устраивает, в принципе
BT>А чьи сертификаты есть сразу?
Verisign
GTE CyberTrust
GeoTrust
Entrust
ну и Микрософтовские
Здравствуйте, Matrix_Failure, Вы писали:
M_F>IE9 выдает сообщение: M_F>"Файл загружается необычным образом/The file is not commonly downloaded".
Это русская винда говорит, что файл необычным образом загружается?
Зачем же она его необычным образом загружает, если есть обычные способы?
Вообще перевод должен быть в том духе, что "Файл не относится тем, которые юзеры обычно себе скачивают"
BT>>Значит, если у пользователя нет инета(и не установлены апдейты) — будет неизвестный издатель, с инетом- все ОК, с апдейтами — возможно тоже. BT>>Меня устраивает, в принципе
BT>>А чьи сертификаты есть сразу?
cyberax, кажется, намекал что есть какая-то процедура, чтобы в свой сертификат включить сразу весь путь до корня, и тогда нифига не надо качать.
> BT>>Значит, если у пользователя нет инета(и не установлены апдейты) — будет неизвестный издатель, с инетом- все ОК, с апдейтами — возможно тоже. > BT>>Меня устраивает, в принципе > > BT>>А чьи сертификаты есть сразу? > > cyberax, кажется, намекал что есть какая-то процедура, чтобы в свой сертификат включить сразу весь путь до корня, и тогда нифига не надо качать.
Пробовал я включать, не помогает. StartSSL автоматом без подключения к интернету не работает.
Есть следующие пути решения:
1. Получить verisign или geotrust
2. Или устанавливать корневой и промежуточный сертификаты отдельно твоего провайдера авторитетности (startssl). Файлы .crt устанавливаются легко без интернета и даже без подтверждения, что для меня лично создает вопрос зачем оно вообще надо было эту систему создавать, если эти проверки так легко обойти.
из минусов startssl:
Корневой сертификат не распространен, работает только при наличии интернет.
Сайт не очень, управление неудобное. На моем компьютере видно его только в опере, да и то, не полностью отображается, информацию о своей identity я не вижу. Кнопки без ссылок, работают только на яваскрипте, вебмастер их о совместимости браузеров как бы не в курсе.
Чего у них там с их timestamp сервером?