Подписание / проверка заявки - PullRequest
15 голосов
/ 12 марта 2011

Я относительно новичок в разработке Windows, но только что закончил небольшой проект. Я хочу сделать свое приложение «проверенным», как и многие другие приложения. Например, при запуске приложения и всплывающем UAC на нем не будет сообщения «неизвестный издатель» с желтой полосой, а на нем должен быть раздел «Verified by:».

Надеюсь, я все правильно объяснил. Кто-нибудь знает как это сделать? Я надеюсь, что это не похоже на SSL-сертификаты, где вы должны платить деньги ...

Пожалуйста, не стесняйтесь, дайте мне знать, если мой вопрос был неясен или я не объясняю его правильно. Спасибо!

Ответы [ 4 ]

17 голосов
/ 12 марта 2011

К сожалению, да, вам нужно платить деньги.

Вам нужен сертификат для подписи кода. Вы можете получить их в следующих центрах сертификации: Thawte

VeriSign

Или, если вы ищете дешевый, я бы купил его отсюда, вот где я получил мой: Tucows

Как только вы получите свой сертификат, вы можете интегрировать его в процесс сборки, чтобы подписать ваше приложение, и оно будет показывать ваше имя как издателя.

6 голосов
/ 12 марта 2011

Это известно как подпись кода .Если вы хотите создать свой собственный сертификат только для себя, вы можете следовать инструкциям, приведенным в этом ответе .

. Как предполагает Eaton, вам придется заплатить, если вы хотите использовать его для публичного использования.,Недавно я приобрел его для нашего программного обеспечения BuildMaster у http://www.instantssl.com/code-signing/index.html за 2 года по цене около 340 долларов.

Ответ на комментарий:

Если бы я сгенерировал свой собственный сертификат, как быэто работает для меня, но не для всех остальных (публично)?

Шаги 1 и 2 в связанном ответе создают самозаверяющий центр сертификации (CA) и затем добавляют его в хранилище сертификатов Windows.Затем на шаге 3 создается сертификат подписи кода и указывается выдающий CA (переключатель -ic).Поскольку эмитентом является ЦС, который был создан на шаге 1, а затем на шаге 2 настроен на доверие к вам вручную, сертификат подписи кода, сгенерированный на шаге 3, похоже, подписан доверенной стороной на вашем компьютере ,

Общественность не может доверять ему, потому что вы оба сгенерировали сертификат подписи кода и полномочия, используемые для проверки того, что его создатель действительно является тем, кем он себя называет.Представьте, что вы были злым и поместили поддельную информацию в сертификат подписи кода, в котором говорится, что подписывающим лицом является Microsoft.com вместо Аарона!Все сертификаты были бы бесполезны, если бы не было доверенного органа для проверки действительной личности подписавшего.

Когда вы заказываете сертификат у доверенного ЦС, они каким-то образом проверят вашу личность.Вероятно, они попросят отсканированную копию ваших водительских прав, если она будет подписана вашим именем или что-то, что будет иметь только владелец бизнеса, как учредительные документы (мы использовали наш номер D & B DUNS для проверки Inedo).

После того, как они подтвердят вашу личность или вашу компанию, они отправят вам сертификат, которому доверяют типичные веб-браузеры, который вы можете использовать для подписи ваших исполняемых файлов, и общественность может быть уверена, что это вы подписываете их, потому что ЦС сделает это.будь то компания, у которой вы купили сертификат.Если вы заглянете в раздел «Параметры» своего любимого веб-браузера, то увидите, какие ЦС считаются доверенными.

1 голос
/ 12 марта 2011

Кроме купленных сертификатов, как объяснил @Eaton, и самозаверяющих самозаверяющих сертификатов, как @John Rasch предложил

, вы можете попробовать бесплатные сертификаты на основе связи от http://cacert.org, которые работают аналогично pgp / gpg-с доверительная система.Для кодовой подписи вам необходимо возобновить доверие как минимум в 100 баллов.

Немецкие пользователи также могут использовать бесплатные http://web.de сертификаты, которые также разрешают кодовую подпись.

Недостаток этого подхода (кактакже как и сертификаты, созданные самим пользователем) означает, что «верифицировано» является активным только в том случае, если операционная система исполняющего клиента установила корневой сертификат подписывающего агентства, что на 99% не соответствует действительности.

Однако Firefoxзнает cacert.org, поэтому сертификаты из cacert можно использовать для https, java и silverlight, но не для стандартных msie без установки корневого сертификата.

0 голосов
/ 15 марта 2011

Вы также можете купить сертификат подписи кода у StartCom (www.startssl.com) примерно за 49,90 долл. США на два года - намного дешевле, чем Thawte, Verisign и остальные.

...