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

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

由此,我得到:

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

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


当前回答

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

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

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

其他回答

如果你不需要签署应用程序,右键单击你的项目

项目属性->签名->取消勾选“签署ClickOnce清单”

正如这篇文章所指出的,

如果你使用的是Visual Studio 2008,目标是。net 3.5并使用自动更新,你只需更改证书并部署一个新版本,

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

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

我在控制台应用程序开发中遇到了同样的问题,作为一个快速的解决方案,

那就去项目物业,

点击签名选项卡,取消选中“签名ClickOnce清单”。

图片描述:

供你参考,你也可以看到这个少于一分钟的视频解决方案。上面的图片是从视频中截取的。

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