我正在尝试用我拥有的pfx文件签署Windows 8 appx包。我使用如下命令:

signtool.exe sign /fd sha256 /f "key.pfx" "app.appx"

由此,我得到:

SignTool错误:没有找到符合所有给定标准的证书。

我没有达到什么“标准”?这仅用于测试,因此这些是自签名证书。我尝试过导入密钥,然后对其进行签名,但它总是导致相同的错误。我怎么解决这个问题?


当前回答

当通过Visual Studio得到这个错误时,这是因为有一个签名证书设置来匹配它最初开发的计算机。

您可以通过转到项目属性>签名选项卡并检查证书详细信息来检查这一点。

您可以取消选中“Sign the ClickOnce清单”以禁用签名。

如果您不想关闭此选项,则必须安装证书。

其他回答

当通过Visual Studio得到这个错误时,这是因为有一个签名证书设置来匹配它最初开发的计算机。

您可以通过转到项目属性>签名选项卡并检查证书详细信息来检查这一点。

您可以取消选中“Sign the ClickOnce清单”以禁用签名。

如果您不想关闭此选项,则必须安装证书。

我的问题是我不理解signtool选项。我为/n选项提供了与我的证书不匹配的东西。当我把它拿掉时,它就不再抱怨了。

在我的情况下,我有错误的证书类型,我试图关联。我选择了“服务器认证”而不是“代码签名”。 您应该能够在预期用途部分的Certificate snap中看到这一点。在那之后,它就可以正常工作了。

使用/debug,当您得到这条消息“After Private Key filter, 0 certs were left.”时,一个原因可能是pfx文件没有私钥。 当您将已安装的证书导出到pfx文件时,请确保启用复选框还包括私钥。

转到项目属性,在初始化编译之前取消选中Firm中的所有字段