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

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

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

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


person user847455    schedule 29.07.2011    source источник
comment
после установки я открыл .exe проекта, а затем отобразил это сообщение   -  person user847455    schedule 29.07.2011
comment
Пользователь говорит об окне «Доверяете ли вы этому приложению», которое отображается при запуске большинства установщиков и сторонних исполняемых файлов.   -  person Hand-E-Food    schedule 29.07.2011


Ответы (1)


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

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

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

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


MakeCert

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

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

Пример MakeCert Internet Explorer 3.02 UPD

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

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. Эта программа будет:

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

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

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

Вот два примера того, как подписать файл и поставить отметку времени с помощью параметров UPD Microsoft Internet Explorer 3.02. В первом используется имя закрытого ключа 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 и добавляется отметка времени.

person Hand-E-Food    schedule 29.07.2011
comment
я не получаю ответа, можете ли вы объяснить подробно - person user847455; 29.07.2011
comment
я перешел на вкладку свойств приложения .net, используя сертификат, но он показывает тот же результат - person user847455; 08.08.2011
comment
Чтобы процитировать приведенный выше текст: обратите внимание, что сертификаты, сгенерированные с помощью тестовых программ MakeCert и Cert2SPC, НЕдействительны для подписи кода, который будет распространяться среди общественности. Независимые поставщики программного обеспечения должны получить сертификат от GTE, VeriSign Inc. или другого центра сертификации для подписи кода, который будет распространяться среди общественности. - person Hand-E-Food; 08.08.2011
comment
тогда какой смысл в этом сертификате - person user847455; 09.08.2011
comment
Вы можете использовать его внутри своей организации для обеспечения безопасности контента. Если вы установите его на каждый компьютер, Windows будет доверять всему коду, документам и электронной почте, подписанным сертификатом. Он также выявит мошеннические элементы, так как они не будут подписаны. - person Hand-E-Food; 09.08.2011
comment
Допустим, ваша компания называется My Company Pty. Ltd. Вы создаете на своем компьютере сертификат, в котором говорится об этом. Вы подписываете свой установщик и размещаете его в Интернете для всех. Ваш установщик показывает, что он был сделан My Company Pty. Ltd. Кто-то загружает его. Они вводят вирус. Они создают еще один сертификат для My Company Pty. Ltd. и подписывают установщик. Они разместили его на другом сайте. Когда кто-либо загружает любой установщик, он говорит, что он сделан My Company Pty. Ltd. Как они узнают, в каком вирусе? Вот почему вы должны купить сертификат у доверенного органа. - person Hand-E-Food; 09.08.2011
comment
можете ли вы сказать мне доверенный орган для покупки сертификатов - person user847455; 19.08.2011
comment
Сертификат подписи кода Google. Я использовал GlobalSign лично. VeriSign и Thawte — другие популярные компании. - person Hand-E-Food; 22.08.2011
comment
Вот ссылка на статью от Microsoft: msdn. microsoft.com/en-us/library/ms537364(v=VS.85).aspx - person Skuami; 22.12.2016