Неизвестный издатель при запуске правильно подписанного установщика

Я правильно подписал .msi, который пользователь может загрузить с веб-сервера. Когда пользователь запускает его, Windows выдает ему предупреждение о «Неизвестном издателе». Однако, если она просматривает свойства файла («Цифровые подписи»), правильная подпись и сертификат на месте. Путь сертификата: VeriSign -> VeriSign Class 3 Code Signing 2010 CA -> Моя компания. Мы ожидаем, что пользователь увидит в этом диалоговом окне правильное название «Моя компания» вместо «Неизвестный издатель». В чем причина неожиданного поведения?


person Dmitry Duginov    schedule 21.01.2015    source источник
comment
У меня та же проблема: однако я заметил, что если вы проверите сертификат через Файл->Свойства и повторно запустите программу установки, на этот раз предупреждение о неизвестном издателе не появится: вы получите правильное синее диалоговое окно. Я видел такое только на Window 7. S2012 и Win8 ведут себя корректно.   -  person perlyking    schedule 30.03.2015
comment
Именно то, что я нашел! Если вы проверите сертификат через свойства установщика, то при последовательном запуске он волшебным образом окажется от правильного, известного издателю ЦС... К сожалению, я могу убедиться, что это не единственная версия Windows, которая оказывает такое же поведение - я наблюдаю ту же проблему в Vista. Ребята, вам удалось это выяснить?   -  person Nikolay Tsenkov    schedule 31.12.2017
comment
Комментарий для подтверждения того, что (в Windows 7) просмотр свойств в установщике работает для очистки уведомления о неизвестном издателе. И добавив, что вам нужно только дойти до панели «Цифровые подписи», выбрать подпись из списка и нажать кнопку «Подробности». Не нужно делать следующий шаг, который будет «Просмотр сертификата» в окне «Сведения о цифровой подписи».   -  person Dr Marble    schedule 12.09.2019


Ответы (1)


Я решил эту проблему, используя ключ /ac для signtool. Этот переключатель указывает путь к файлу сертификата и позволяет добавить дополнительный сертификат в блок подписи подписанного файла. Я использовал «/ac AddTrustExternalCARoot.crt», чтобы добавить сертификат подписи корневого кода Comodo (SHA-2) в свой msi-файл. Я тестировал это на Windows 7, где у меня была проблема.

Переключатель /ac предназначен для подписи кода ядра, но он также необходим для решения этой проблемы. Вам все равно нужно будет использовать /f или один из других ключей, чтобы использовать сертификат подписи кода.

person ccoxtn    schedule 25.04.2017