VS2015 安装程序项目 - 向 MSI 添加无效的 Microsoft 签名
VS2015 Installer Projects - Adds Invalid Microsoft signature to MSIs
此 Microsoft 工具会在您构建 MSI 时添加无效的 Microsoft 数字签名。
有人知道阻止该工具添加数字签名的简单方法吗?或者在构建后删除数字签名的简单方法?
VS2015 安装程序项目 link
https://visualstudiogallery.msdn.microsoft.com/f1cc3f3e-c300-40a7-8797-c509fb8933b9
即使签名错误,MSI 文件也能正常工作。但是,当有人尝试使用 Edge 浏览器下载 MSI 时,它会阻止下载并显示此 下载错误消息 。
"The signature for this file is corrupt or invalid"。带有一个可怕的大红色错误盾牌图标。
如果您想从您的产品或工具中吓走潜在用户,这是实现此目的的最佳方式。
咆哮:
微软在 2012 年放弃此工具后再次提供该工具时,它深深地鞠了一躬。告诉开发人员 "See we do listen to you and we brought back this popular tool." 好吧,你不认为微软可以指派一名低级别的开发人员来维护它并修复像这样的简单问题。似乎只是另一个带有破损轮子的玩具,MS 将其扔进了沙箱,然后让它散架了。来吧微软,花 10 分钟解决这个问题。
问题似乎是旧的 SHA1 证书在 2015 年底后不再有效以及强制执行它的安全更改,如本线程和 1 月 12 日安全更新评论中所示:
Internet Explorer shows valid certificate as "corrupt or invalid signature"
我在这里没有亲自尝试过这个想法,但在 MSI 文件上测试删除证书的代码看起来相当简单:
http://www.fluxbytes.com/csharp/remove-digital-signature-from-a-file-using-c/
要解决此问题,您还可以尝试对包进行双重签名,而不是完全删除数字签名。这样,有关无效签名的警告消息将在下载时消失,并且正确的信息将在安装时出现在 UAC 提示中。
双重签名当然需要 SHA2 证书。
SHA 2 签名无法被早于 Windows7 的操作系统识别,因此如果您也以这些为目标并希望您的签名在那里可见,您需要执行 dual signing.
Microsoft 解释 steps for dual signing,提供更多详细信息。
此 Microsoft 工具会在您构建 MSI 时添加无效的 Microsoft 数字签名。
有人知道阻止该工具添加数字签名的简单方法吗?或者在构建后删除数字签名的简单方法?
VS2015 安装程序项目 link https://visualstudiogallery.msdn.microsoft.com/f1cc3f3e-c300-40a7-8797-c509fb8933b9
即使签名错误,MSI 文件也能正常工作。但是,当有人尝试使用 Edge 浏览器下载 MSI 时,它会阻止下载并显示此 下载错误消息 。 "The signature for this file is corrupt or invalid"。带有一个可怕的大红色错误盾牌图标。
如果您想从您的产品或工具中吓走潜在用户,这是实现此目的的最佳方式。
咆哮: 微软在 2012 年放弃此工具后再次提供该工具时,它深深地鞠了一躬。告诉开发人员 "See we do listen to you and we brought back this popular tool." 好吧,你不认为微软可以指派一名低级别的开发人员来维护它并修复像这样的简单问题。似乎只是另一个带有破损轮子的玩具,MS 将其扔进了沙箱,然后让它散架了。来吧微软,花 10 分钟解决这个问题。
问题似乎是旧的 SHA1 证书在 2015 年底后不再有效以及强制执行它的安全更改,如本线程和 1 月 12 日安全更新评论中所示:
Internet Explorer shows valid certificate as "corrupt or invalid signature"
我在这里没有亲自尝试过这个想法,但在 MSI 文件上测试删除证书的代码看起来相当简单:
http://www.fluxbytes.com/csharp/remove-digital-signature-from-a-file-using-c/
要解决此问题,您还可以尝试对包进行双重签名,而不是完全删除数字签名。这样,有关无效签名的警告消息将在下载时消失,并且正确的信息将在安装时出现在 UAC 提示中。
双重签名当然需要 SHA2 证书。
SHA 2 签名无法被早于 Windows7 的操作系统识别,因此如果您也以这些为目标并希望您的签名在那里可见,您需要执行 dual signing.
Microsoft 解释 steps for dual signing,提供更多详细信息。