Подтвердить что ты не робот

Как установить имя издателя для приложения Windows Forms

Я создал настройку приложения Windows Forms. После установки этой установки в Windows 7 она отображает следующее:

Name: my application.exe  
Publisher: unknown publisher  
Type: application  
From: my application.exe  

Я хочу установить имя издателя. Как установить имя издателя?

4b9b3361

Ответ 1

Вам нужно подписать цифровой код вывода. Я могу начать с статьи Подписание и проверка кода с Authenticode.

Вся цель этого - гарантировать, что ваш код не был подделан. Если вы приобретите сертификат подписи кода от одного из органов сертификации, вы можете вообще не открывать окно "доверяете ли вы этому".

Это не простая задача для настройки, но она может быть выполнена с помощью script после ее запуска.
Вы не найдете простой, быстрый ответ.

Здесь вырезаем и вставляем наиболее релевантные разделы. Возможно, вам придется прочитать дальше, чтобы получить именно то, что вы хотите.


MakeCert

Используйте тестовую программу MakeCert для создания тестового сертификата X.509. MakeCert выполняет следующие задачи:

  • Создает пару открытых/закрытых ключей для цифровых подписей и связывает их с именем, которое вы выберете.
  • Связывает пару ключей с именем издателя, которое вы выбираете.
  • Создает сертификат X.509, подписанный корневым ключом теста или указанным вами, который связывает ваше имя с открытой частью пары ключей. Сертификат выводится в файл, хранилище системных сертификатов или и то, и другое.

MakeCert Internet Explorer 3.02 Пример UPD

Ниже приведен пример создания сертификата с помощью опций Microsoft Internet Explorer 3.02 UPD:

MakeCert -k:c:\KeyStore\MyKey.pvk -n:CN=MySoftwareCompany Cert.cer

В этом примере создается файл сертификата Cert.cer. Публичная часть ключевой пары под названием MyKey связана с издателем MySoftwareCompany.

Cert2SPC

После создания сертификата вы можете создать сертификат публикации программного обеспечения в программе Cert2SPC. Эта программа переносит несколько сертификатов X.509 в объект подписываемых данных PKCS # 7. Обратите внимание, что эта программа предназначена только для тестирования. Действительный сертификат публикации программного обеспечения получается из центра сертификации. Вот пример:

Cert2SPC MyCert.cer MyCert.spc

Это заверяет сертификат X.509 MyCert.cer в сертификат публикации программного обеспечения PKCS # 7 под названием MyCert.spc.

SignCode

Последний шаг - фактически подписать файл, используя программу SignCode. Эта программа будет:

  • Создайте криптографический дайджест файла.
  • Подпишите дайджест вашим личным ключом.
  • Скопируйте сертификаты X.509 из сертификата публикации программного обеспечения в  новый объект подписываемых данных PKCS # 7. Объект PKCS # 7 содержит серию  номеров и эмитентов сертификатов, используемых для создания подписи,  сертификаты и подписанную информацию дайджеста.
  • Вставить объект в файл.
  • Необязательно, он может добавить отметку времени к файлу. Временная метка всегда должна быть добавлена ​​при подписании файла. Тем не менее, SignCode также имеет возможность добавлять отметку времени к ранее подписанному файлу с учетом некоторых ограничений (см. Примеры, следующие за таблицей опций).

Как только файл будет подписан (если у вас есть действующий сертификат) и отметка времени, файл может быть распространен среди ваших клиентов. Обратите внимание, что сертификаты, сгенерированные с помощью тестовых программ MakeCert и Cert2SPC, НЕ являются допустимыми для подписи кода, который будет распространен среди общественности. Независимые поставщики программного обеспечения должны получить сертификат от GTE, VeriSign Inc. или другого центра сертификации для подписания кода, который будет распространен среди общественности.

Примеры SignCode для Internet Explorer 3.02 UPD

Вот два примера того, как подписывать и время штампа файла с помощью опций Microsoft Internet Explorer 3.02 UPD. Первый использует имя закрытого ключа MyKey, а второй использует файл закрытого ключа My.pvk:

SignCode -prog MyControl.exe -spc Cert.spc -pvk MyKey -timeStamper http://timestamp.verisign.com/scripts/timstamp.dll
SignCode -prog MyControl.exe -spc Cert.spc -pvk My.pvk -timeStamper http://timestamp.verisign.com/scripts/timstamp.dll

Примечание. В приведенном выше URL-адресе timstamp.dll верен. Это не опечатка.

В обоих случаях объект PKCS # 7, Cert.spc, встроен в дайджест файла MyControl.exe. В первом примере дайджест подписывается с закрытым ключом пары ключей MyKey и добавляется метка времени. Во втором примере дайджест подписывается с файлом личного ключа My.pvk и добавляется метка времени.