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

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

由此,我得到:

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

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


当前回答

同样的问题,原来是证书的私钥没有权限。 要修复-打开证书管理,找到您的证书,右键单击->管理私钥,然后在安全顶部确保您的用户被添加并给予权限,这为我修复了它。

其他回答

请始终先检查您的证书有效期,因为大多数证书都有有效期。在我的情况下,证书已经过期,我正在试图建立项目。

以防其他人遇到这种情况:我的问题是,在使用signtool.exe应用程序之前,我需要以管理员身份运行命令提示符。然后一切都很好地工作。

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

我也有这个问题,试了很多。使用SDK和Visual Studio签名,但是到处都是“没有找到符合所有给定标准的证书”。

解决方案: 注意,如果"after private key filter": '0 left'显示选项signtool sign /debug…,原因是你的PC没有CA本身在商店。要解决这个问题,首先安装CA(在我的例子中是一个.crt文件),然后再次运行符号。它现在应该可以工作了!

Signtool只能与同一台PC拥有的请求为ánd的CA一起使用。

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

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

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

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