Как избежать предупреждения на AssemblyName.vsto, когда setup.exe подписан с помощью сертификата EV (SHA2) - PullRequest
0 голосов
/ 21 октября 2019

Я только что получил сертификат подписи кода EV.

Я использую сертификат на вкладке подписи ClickOnce / странице свойств моего проекта (выбран из магазина). Я развертываю файлы на удаленном общедоступном FTP, где клиенты могут загрузить загрузчик setup.exe. Это прекрасно работает, и я получаю зеленое приглашение при запуске setup.exe, но затем я получаю второе приглашение - установщик настройки Microsoft Office - которое указывает, что

Издатель был проверен

, но продолжает показывать желтый предупреждающий экран и следующую информацию:

Хотя настройки Office из Интернета могут быть полезны, они могут нанести вред вашему компьютеру. Если вы не доверяете источнику, не устанавливайте это программное обеспечение.

Как я могу стать зеленым?

Я проверил файлы из папки публикации: только setup.exe считается подписанным утилитой DigiCert Certificate Utility . Другие файлы либо не распознаются как подписываемые (AssemblyName.vsto и FileName.dll.manifest), либо отображаются как не подписанные (FileName.dll.deploy). Я предполагаю, что это потому, что эти файлы подписаны с помощью утилиты Mage ClickOnce, которая отличается от signtool или какой-либо технологии подписи Authenticode?

Имеет ли это какое-то отношение к подписанию, или оно разработано для решений Office, которыеЯ не могу стать зеленым, если я не в списке доверенных издателей? Как и эта статья , кажется, предлагает.

Ответы [ 2 ]

0 голосов
/ 21 октября 2019

Полагаю, это потому, что эти файлы подписаны с помощью утилиты Mage ClickOnce, которая отличается от signtool или какой-либо технологии подписи Authenticode?

Вы находитесь на правильном пути. Подписание файла setup.exe недостаточно. Вы должны подписать манифесты приложения и развертывания, см. Как: подписать манифесты приложения и развертывания для получения дополнительной информации. В нем говорится следующее:

Если вы хотите опубликовать приложение с помощью развертывания ClickOnce, манифесты приложения и развертывания должны быть подписаны парой открытого / секретного ключей и подписаны с использованием технологии Authenticode. Вы можете подписать манифесты, используя сертификат из хранилища сертификатов Windows или файл ключа. Дополнительные сведения о развертывании ClickOnce см. В разделе Безопасность и развертывание ClickOnce . Подписание манифестов ClickOnce является необязательным для приложений на основе .exe.

После внесения изменений в свойства развертывания в манифесте приложений для приложений Windows Forms, приложений Windows Presentation Foundation (xbap) или решений Office,Вы должны повторно подписать как приложение, так и манифесты развертывания с помощью сертификата. Этот процесс гарантирует, что подделанные файлы не будут установлены на компьютерах конечных пользователей. Другой сценарий, когда вы можете переподписывать манифесты, - это когда ваши клиенты хотят подписать приложение, а развертывание манифестов с помощью собственного сертификата.

Подробнее об этом см. В Как: переподписать приложение иМанифесты развертывания статья.

По сути, ваш код / ​​решение для подписи пользовательских действий может выглядеть следующим образом:

- "signtool.exe" sign /f $(SolutionDir)certificate.pfx /p myPwd$(TargetPath)

- "mage.exe" -sign $(TargetPath).manifest -CertFile $(SolutionDir)certificate.pfx -Password myPwd

- "mage.exe" -sign $(TargetDir)$(TargetName).vsto -CertFile $(SolutionDir)certificate.pfx -Password myPwd
0 голосов
/ 21 октября 2019

При первой загрузке надстройки VSTO (но не сейчас необработанного COM) VSTO во время выполнения проверяет, есть ли надстройка в списке HKCU\Software\Microsoft\VSTO\Security\Inclusion.

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

Вы можете создать этот ключ у установщика клиента. Я не думаю, что вы можете сделать это из установщика ClikcOnce.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...