我制作了自己的 CA,然后制作了 .pfx 文件。我正在使用 Wix 工具集来构建安装程序。
在 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 中构建它,它构建成功,甚至签名也显示成功。
然而,在 UAC 提示下,它仍然是发布者未知。
根据前面的讨论,您似乎正在尝试签署安装程序,将其分发给您的用户,并期望 UAC 显示您的发布者名称。
仅当您使用来自受信任证书颁发机构的代码签名证书对安装包进行签名时,此操作才有效。您无法使用自己的 CA 创建证书,因为您的 CA 在用户的系统上并不可信。如果每个人都可以简单地创建自己的 CA,那么就没有人会对签名代码产生任何信任。您可能只将其视为一种创收方法,但证书实际上并没有那么昂贵(
进一步阅读:http://www.codeproject.com/Articles/325833/Basics-of-Signing-and-Verifying-code http://www.codeproject.com/Articles/325833/Basics-of-Signing-and-Verifying-code
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)