Приложение ClickOnce, подписанное приобретенным центром сертификации, показывает "Неизвестный издатель". - PullRequest
0 голосов
/ 19 июня 2020

Я знаю, что этот вопрос задавали много. Я уже пробовал многие решения в других вопросах, но не работает.
Целевая платформа приложения - 4.5.2.
Я работаю над Windows 7 с Visual Studio Community 2017.

Сертификат является сертификатом подписи кода от Secti go. Стандартная версия (не EV).

Certificate general Certificate purpose Certificate path

Я использую вкладка «Подписание» в свойствах проекта, чтобы подписать приложение.

Visual Studio Signing tab

Я публикую в папку на моем компьютере, после этого я загружаю опубликованные файлы на веб-сервер.
Когда я проверяю свойства setup.exe и myApp.exe подписаны и имеют правильную метку времени или, по крайней мере, так кажется.

Digital signatures

Кроме того, myApp.application файл в \path\publish_folder\, файл \path\publish_folder\Application Files\myApp_1_0_0_0\myApp.application и \path\publish_folder\Application Files\myApp_1_0_0_0\myApp.exe.manifest имеют тег <publisherIdentity>, соответствующий сертификату.

Кажется, все хорошо, даже когда я загружаю приложение и запустите setup.exe, я получаю следующее предупреждение, и это нормально: setup.exe warning

При запуске setup.exe публикуется сразу, но после вызовов setup.exe myApp.application , затем отображается это предупреждение с « Неизвестный издатель », и это проблема: myApp.application warning

Я попытался установить сертификат в магазине "Trusted Root Certification Authorities", а также в магазине "Trusted Publishers" nd в «Личном» магазине и снова публикуем sh приложение, но происходит то же самое.

В других вопросах говорилось, что вкладка подписи Visual Studio подписывает только манифест, но не исполняемый файл, как вы можете вижу, что это не мой случай (setup.exe и myApp.exe имеют правильные цифровые подписи), но хотя я решил попробовать подписать с помощью команды signtool sign (C: \ Program Files \ Microsoft SDKs \ Windows \ v7.1 \ Bin \ signtool.exe) и build / publi sh в качестве ответов, предложенных без везения:

Я думаю, единственное, что мне не хватает, так это вариант« подписать сборку »(флажок в поле« Подписывание tab в Visual Studio), но когда я делаю это в первый раз, я получаю сообщение об ошибке:

Cannot import the following key file: myKey.pfx. The key file may be password protected. To correct this, try to import the certificate again or manually install the certificate to the Strong Name CSP with the following key container name: VS_KEY_5578EF228F7A794C myApp

Затем во второй раз я получаю эту ошибку:

Error importing key: An attempt was made to reference a token that does not exist

1 Ответ

0 голосов
/ 22 июня 2020

Я подписал приложение и сделал публикацию sh с помощью Visual Studio Professional 2019, и это сработало. Теперь он по-прежнему показывает предупреждение, но с правильным издателем в обоих предупреждениях.

...