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


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

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

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

1 18

1 ответ:

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

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

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

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


MakeCert

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

  1. создает пару открытый / закрытый ключ для цифровых подписей и связывает ее с именем, которое вы выбирать.
  2. связывает пару ключей с именем издателя, которое вы выбрали.
  3. создает сертификат 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 signed-data. Обратите внимание, что эта программа предназначена только для тестирования. Действительныйсертификат публикации программного обеспечения получен от центра сертификации. Вот пример:

Cert2SPC MyCert.cer MyCert.spc

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

SignCode

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

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

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

Примеры кода для 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.ППК, встраивается в дайджест файла, моей воли.exe. В первом примере дайджест подписывается закрытым ключом пары ключей MyKey и добавляется отметка времени. Во втором примере, дайджест подписывается закрытым ключом файл.pvk, и добавляется отметка времени.