Почему я все еще вижу неизвестного издателя с подсказкой UAC?
Я сделал свой собственный CA, а затем файл.pfx. Я использую Wix Toolset для сборки установщика.
В файле проекта wix я отредактировал его следующим образом;
<PropertyGroup>
<SignOutput>true</SignOutput>
</PropertyGroup>
<PropertyGroup>
<sourceRoot>$(OutputPath)..\..</sourceRoot>
</PropertyGroup>
<Target Name="SignMsi">
<Exec Command='"$(sourceRoot)\Keys\signtool.exe" sign /v /f "$(sourceRoot)\Keys\myCA.pfx" /t http://timestamp.verisign.com/scripts/timstamp.dll /v /d "%(SignMsi.Filename)" "@(SignMsi)"' />
</Target>
<Target Name="SignCabs">
<Exec Command='"$(sourceRoot)\Keys\signtool.exe" sign /v /f "$(sourceRoot)\Keys\myCA.pfx" /t http://timestamp.verisign.com/scripts/timstamp.dll /v /d "%(SignCabs.Filename)" "@(SignCabs)"' />
</Target>
Затем я создаю его в Visual Studio, и он успешно создается, и даже подпись показывает успех.
Тем не менее, в настоящий момент он остается неизвестным издателю.
3 ответа
Я хочу ответить на этот вопрос сам, так как думаю, что здесь есть несколько довольно серьезных недоразумений. Вы можете сделать свой собственный сертификат и добавить его в свой собственный магазин, и тогда UAC будет сине-зеленым, и издатель будет показан. 100% доверие. Конечно, ключ в том, что сертификат CA, который вы сделали, должен быть в магазине. Это та проблема, которая вызывает проблемы при развертывании, но я надеюсь, что если я возьму свой сертификат с другими компьютерами, я смогу добавить его в хранилище, и тогда я буду отображаться как издатель.
У меня было несколько проблем с сертификатом, которые мне нужно было исправить. Я знал, что у меня были проблемы с использованием
signtool verify /v /pa mysigned.exe
Это говорит мне, что все было не правильно и что нужно исправить.
Исходя из предыдущего обсуждения, похоже, что вы пытаетесь подписать установщик, распространить его среди своих пользователей и ожидать, что UAC покажет имя вашего издателя.
Это будет работать только в том случае, если вы подпишете пакет установки с помощью сертификата для подписи кода из доверенного центра сертификации. Вы не можете использовать свой собственный CA для создания сертификата, потому что ваш CA не известен как надежный в системах ваших пользователей. Если бы каждый мог просто создать свой собственный CA, никто бы никогда не поверил в подписанный код. Вы можете рассматривать это только как способ получения дохода, но сертификат на самом деле не такой дорогой (<200 долларов США в год). Так как он может использоваться для подписи столько кода, сколько вы хотите, это не должно быть проблемой для компаний с хорошей репутацией.
Дальнейшее чтение: http://www.codeproject.com/Articles/325833/Basics-of-Signing-and-Verifying-code
У меня тоже такое было, если на компьютере не работает время. Вы можете узнать, так ли это, щелкнув правой кнопкой мыши, чтобы просмотреть свойства установщика и просмотрев сертификат. Если в нем указано, что отметка времени может быть недействительной, проверьте время на компьютере.