Приложение Clickonce подписано, но при загрузке издатель все еще неизвестен - PullRequest
3 голосов
/ 17 июня 2020

У меня есть действующий сертификат подписи кода с не истекшим сроком действия (стандартный, а не EV), который я использовал для успешной подписи приложения click Once (. net 4.5) и публикации sh на веб-сервере для загрузки. При загрузке этого приложения оно правильно показывает имя издателя. Проблема в том, что после установки сертификата подписи кода в любом другом приложении имя издателя отображается как «Неизвестный издатель» при загрузке. Нет никакой разницы в том, как я устанавливаю сертификат, и все приложения публикуются на одном веб-сервере. Когда я открываю .exe или файл манифеста при входе на веб-сервер, он правильно показывает имя издателя. Проверка свойств файла «Цифровые подписи» показывает, что они подписаны правильным сертификатом подписи кода с sha256. Ниже приведены шаги, которые я использовал:

  1. Установлен сертификат подписи кода, чтобы щелкнуть приложение один раз через вкладку «Подписывание», и он включен (Visual Studio 2017 Pro).
  2. Алгоритм подписи кода sha256RSA с допустимым сервером временных меток (http://timestamp.comodoca.com/?td=sha256).
  3. Щелкните, если сборка приложения не подписана.
  4. Сертификат подписи кода был установлен на машине разработчика (Windows 10 Pro 1809).
  5. Сертификат подписи кода был установлен на веб-сервере в «Доверенных Root центрах сертификации» и «Промежуточных центрах сертификации» (Windows 2012 R2 с использованием IIS 8) для «Учетной записи компьютера» ".

Кстати, я экспортировал сертификат подписи кода из Inte rnet Explorer с помощью SHA1 и впоследствии установил его на веб-сервер. Известная проблема состоит в том, что при экспорте сертификата в SHA256 и попытке импортировать его на веб-сервер пароль для файла всегда будет неверным. Это случилось со мной, поэтому я просто импортировал версию SHA1 на веб-сервер. Не уверен, что это создаст какие-либо проблемы, но оно работает для приложения one clickonce нормально.

Обновление: Я заметил кое-что странное, если я go использовал развертывание publi sh URL и нажмите кнопку «Установить». После того, как setup.exe был загружен для приложений clickonce с «Неизвестными издателями», я получил более ужасный интеллектуальный экранный фильтр, в котором говорится, что файл не подписан, но под ним отображается правильная информация об издателе. Проверка свойства «цифровые подписи» для exe показывает, что он подписан правильно.

1 Ответ

1 голос
/ 28 июня 2020

Моя проблема была вызвана тем, что имя издателя не совпадает с тем, кому был выдан мой сертификат подписи кода при включенной опции «Использовать манифест приложения для информации о доверии» в Visual Studio. Снятие флажка с этого параметра или исправление имени издателя решило проблему. Это объясняется ниже:

Проверьте, используется ли манифест вашего приложения для информации о доверии (например, имя издателя). Если это так, убедитесь, что имя издателя в разделе «Описание» ТОЧНО соответствует тому, кому был выдан сертификат. Если он не совпадает, вы получите ошибку «неизвестный издатель». Этот параметр находится в Visual Studio на вкладке «Publi sh». Нажмите кнопку «Параметры ...», а затем элемент списка «Манифесты».

enter image description here

I would try unchecking the "Use application manifest for trust information" and see if that resolves the issue. If you do need the "Use application manifest" option checked, click the "Description" tab and make sure the "Publisher name" value matches the value of the name the code signing certificate is issued to EXACTLY.

Убедитесь, что имя издателя совпадает с тем, кому был выдан сертификат подписи кода.

...