Подписание/проверка приложений
Я относительно новичок в разработке Windows, но только что закончил небольшой проект. Я хочу сделать мое приложение "проверенным", как и многие другие приложения. Например, когда вы запускаете приложение и появляется UAC, он не будет иметь сообщение "неизвестно издателя" с желтой полосой и должен иметь раздел "Проверено:" на нем.
Надеюсь, я правильно это объяснил. Кто-нибудь знает как это сделать? Я надеюсь, что это не так, как SSL-сертификаты, где вы должны платить деньги...
Пожалуйста, не стесняйтесь, сообщите мне, был ли мой вопрос непонятен или если я не объясню это правильно. Спасибо!
Ответы
Ответ 1
Неудача, да, вам нужно платить деньги.
Что вам нужно - это сертификат подписи кода. Вы можете получить их из нижеуказанных центров сертификации:
Thawte
VeriSign
Или, если вы ищете дешевый, я бы купил его здесь, вот где я получил свой:
Tucows
Как только вы получите свой сертификат, вы можете интегрировать его в процесс сборки, чтобы подписать ваше приложение, и оно покажет ваше имя как издателя.
Ответ 2
Это называется подписание кода. Если вы хотите создать собственный сертификат только для вас, вы можете следовать инструкциям в этом ответе.
Как говорит Итон, вам придется заплатить, если вы хотите его использовать для общественного использования. Недавно я купил один для нашего программного обеспечения BuildMaster от http://www.instantssl.com/code-signing/index.html в течение 2 лет примерно в $340.
Ответ на комментарий:
Если я создал свой собственный сертификат, как он будет работать для меня, но не для всех остальных (публично)?
Шаги 1 и 2 в связанном ответе создают самозаверяющий Центр сертификации (CA), а затем добавляют его в хранилище сертификатов Windows. Шаг 3 затем генерирует сертификат подписи кода и указывает выдающий ЦС (переключатель -ic
). Поскольку эмитент является ЦС, который был создан на шаге 1, а затем настроен на то, чтобы вручную доверять вам на шаге 2, сертификат подписи кода, сгенерированный на шаге 3, по-видимому, подписывается доверенной стороной на вашем компьютере.
Нельзя доверять общественности, потому что вы оба сгенерировали сертификат подписи кода и авторитет, используемый для проверки того, что его создатель фактически является тем, кем он говорит. Представьте себе, если вы были злы и подделали фальшивую информацию в сертификате подписи кода, в котором говорится, что подписавший Microsoft.com вместо Aaron! Все сертификаты были бы бесполезны, если бы не было доверенных полномочий для проверки подлинности личности подписывающего лица.
При заказе сертификата из доверенного ЦС они каким-то образом подтвердят вашу личность. Вероятно, они попросят отсканированную копию вашей водительской лицензии, если она будет подписана в качестве вашего имени, или что-то, что только владелец бизнеса хотел бы иметь в своих статьях (мы использовали наш номер D & B DUNS для проверки Inedo).
После того, как они подтвердят вашу или вашу фирменную личность, они отправят вам сертификат, которому доверяют обычные веб-браузеры, которые вы можете использовать для подписи своих исполняемых файлов, а общественность может быть уверена, что на самом деле вы подписываете их, потому что CA будет любая компания, с которой вы купили сертификат. Если вы посмотрите в разделе "Параметры" вашего любимого веб-браузера, вы можете увидеть, какие центры сертификации считаются надежными.
Ответ 3
Помимо покупки сертификатов в качестве объяснения @Eaton и самоподготовки самоподписанных сертификатов, как @John Rasch предложил
вы можете попробовать бесплатные сертификаты на основе comunitee из http://cacert.org, который работает как pgp/gpg-s trustsystem. Для координирования вам потребуется подтверждение доверия не менее 100 пунктов.
Немецкие пользователи также могут использовать бесплатные http://web.de сертификаты, которые также допускают кодовое кодирование.
Недостаток этого подхода (а также самоподготовленные сертификаты) заключается в том, что "проверенный" является только активным, если операционная система исполняющего клиента установила корневой сертификат агентства подписи, который в 99% не является случай.
Однако Firefox знает cacert.org, поэтому сертификаты cacert могут использоваться для https, java и silverlight, но не для стандартного msie без установки корневого сертификата.
Ответ 4
Вы также можете купить сертификат подписи кода от StartCom (www.startssl.com) примерно за $49,90 в течение двух лет - намного дешевле Thawte, Verisign и остальных.