Цифровая подпись для приложения

Автор Тема: Цифровая подпись для приложения  (Прочитано 9035 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Роман МалютинАвтор темы

  • ADN Club
  • Сообщений: 15
  • Карма: 3
  • Инженер
    • lep10.ru
При обновлении своего плагина в Exchange получил от сотрудников Autodesk такое пожелание:
Цитировать
Also, we have a request. Is it possible to Digitally sign our installer and the DLLs.
Failing to do so won’t stop your app being on the store, but it may cause prospective customers to not install your app due to security concerns.
Хотят цифровую подпись.
Если это не тоже самое, что «подписывание сборки» в Visual Studio (создание строгого имени для .NET сборки), тогда что это и с чем его едят?

Оффлайн Виктор Чекалин

  • Administrator
  • *****
  • Сообщений: 694
  • Карма: 111
  • Skype: chekalin-v
Re: Цифровая подпись для приложения
« Ответ #1 : 18-09-2014, 09:13:39 »
Роман, добрый день.
Нет, это не то же самое, что и подписывание сборки. Вас просят подписать именно инсталятор. Для чего это нужно? Когда вы запускаете инсталятор, то пользователь видит окно Контроля учетных записей пользователей (UAC), в котором написано, что вы запускаете инсталятор такой то и там есть поле Издатель (Publisher - по английски, возможно в руссокм варианте как то по другому). Так вот, если инсталятор подписан цифровой подписью, то в Поставщике будет видно название орагнизации. Фактически это гарантия того, что у вас инсталятор именно тот, в каком виде его выпустил издатель, а не подделка.
Если же инсталятор не подписан, то само окно будет желтого цвета, и в поле  Издатель будет написано Неизвестно. Это означает что доверия к этому инсталятору нет.

Скриншотов этих окон сделать не получается, так что наглядно не продемонстрирую.

Чтобы подписать инсталятор, вам нужно получить SSL сертификат.

Вот что нашел в интернете по этому поводу: http://www.createinstall.ru/help/how-to-code-sign-installation.html

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Цифровая подпись для приложения
« Ответ #2 : 18-09-2014, 09:23:50 »
Добавлю к этому, что получение сертификата - это не бесплатная процедура. В обязанности поставщика сертификатов входит его проверка, т.е. при запуске подписанной программы происходит обращение (посредством интернета) для проверки подписи. Это если проверка сертификатов не отключена в Свойствах Обозревателя.
Еще подробное описание: http://habrahabr.ru/company/tuthost/blog/152867/
Если сертификат уже имеется, то подписать программу можно при помощи утилиты SignTool.exe (входит в состав Visual Studio): http://msdn.microsoft.com/ru-ru/library/8s9b9yaz%28v=vs.110%29.aspx
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Виктор Чекалин

  • Administrator
  • *****
  • Сообщений: 694
  • Карма: 111
  • Skype: chekalin-v
Re: Цифровая подпись для приложения
« Ответ #3 : 18-09-2014, 09:46:43 »
при запуске подписанной программы происходит обращение (посредством интернета) для проверки подписи. Это если проверка сертификатов не отключена в Свойствах Обозревателя.
Это действительно так? Согласно этой логике, программу, подписанную сертификатом, нельзя установить при отсуствии подключения к интернету.
Только что проверил. Отключил интернет, запускаю подписанный инсталятор. Издатель отображается.

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

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Цифровая подпись для приложения
« Ответ #4 : 18-09-2014, 09:52:13 »
Согласно этой логике, программу, подписанную сертификатом, нельзя установить при отсуствии подключения к интернету.
Он по меньшей мере пытается проверить не аннулирован ли сертификат издателя. Это одна из причин, по которой AutoCAD достаточно долго запускается (иногда несколько минут - при этом если сеть/интернет отключены, то загрузка AutoCAD происходит значительно быстрее) и в своё время была рекомендация для ускорения запуска AutoCAD отключать проверку аннулирования сертификатов издателей.

« Последнее редактирование: 18-09-2014, 11:36:22 от Александр Ривилис »
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Цифровая подпись для приложения
« Ответ #5 : 18-09-2014, 14:12:42 »
Роман Малютин, я посмотрел что твой плагин бесплатный, а так как это было лишь пожелание, а не требование, то я бы не стал его пока реализовывать. Во всяком случае для текущей версии AutoCAD.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Роман МалютинАвтор темы

  • ADN Club
  • Сообщений: 15
  • Карма: 3
  • Инженер
    • lep10.ru
Re: Цифровая подпись для приложения
« Ответ #6 : 18-09-2014, 15:23:43 »
Спасибо за разъяснения.
Понятно, что это только рекомендация, просто разобраться хотелось.
Мне, как любителю, такие заморочки совсем ни к чему. Буду публиковать безо всяких сертификатов.