Ear*_*rlz 263 signtool windows-8 windows-store-apps appx
所以,我正在尝试使用我拥有的pfx文件签署Windows 8 appx包.我正在使用这样的命令:
signtool.exe sign /fd sha256 /f "key.pfx" "app.appx"
Run Code Online (Sandbox Code Playgroud)
从此,我得到:
SignTool错误:未找到符合所有给定条件的证书.
我没有遇到什么"标准"?这仅用于测试,因此这些是自签名证书.我已经尝试导入密钥然后签名,但它总是会导致相同的错误.我该如何解决?
JDa*_*ips 556
通过Visual Studio获取此错误时,这是因为有一个签名证书设置与最初开发的计算机相匹配.
您可以通过转到项目属性>签名选项卡并检查证书详细信息来进行检查.
您可以取消选中"签署ClickOnce清单"以禁用签名.

如果您不想关闭此选项,则必须安装证书.
Dan*_*iel 95
尝试使用/ debug.1,2如:
signtool sign /debug /f mypfxfile.pfx /p <password> (mydllexectuable).exe
Run Code Online (Sandbox Code Playgroud)
它将帮助您了解正在发生的事情.你应该得到这样的输出:
The following certificates were considered:
Issued to: <issuer>
Issued by: <certificate authority> Class 2 Primary Intermediate Server CA
Expires: Sun Mar 01 14:18:23 2015
SHA1 hash: DD0000000000000000000000000000000000D93E
Issued to: <certificate authority> Certification Authority
Issued by: <certificate authority> Certification Authority
Expires: Wed Sep 17 12:46:36 2036
SHA1 hash: 3E0000000000000000000000000000000000000F
After EKU filter, 2 certs were left.
After expiry filter, 2 certs were left.
After Private Key filter, 0 certs were left.
SignTool Error: No certificates were found that met all the given criteria.
Run Code Online (Sandbox Code Playgroud)
您可以看到哪些过滤器导致您的证书无效,或者没有考虑过证书.
我改变了哈希和其他信息,但你应该明白这个想法.希望这可以帮助.
1 请注意:signtool特别关于/debug选项的放置位置.它需要在sign声明之后.
2 另请注意:该/debug选项仅适用于某些版本的signtool.WDK版本有选项,而Windows SDK版本没有.
Muh*_*han 42
我在控制台应用程序开发中遇到了同样的问题,作为快速解决方法,
去project properties那时,
单击signing选项卡并取消选中“签署 ClickOnce 清单”。
图片说明:
仅供参考您还可以看到这个不到一分钟的视频解决方案。上图是从视频中截取的。
小智 35
请始终首先检查您的证书到期日期,因为大多数证书都有到期日.在我的情况下,证书已过期,我正在尝试构建项目.
mar*_*dob 15
在我的情况下,我有一个错误的证书类型,我试图联系.
我有"服务器身份验证"而不是"代码签名".
您应该可以在"预期用途"部分的"证书"快照中看到此信息.
在那之后,它只是工作正常.
小智 15
得到同样的问题,结果证明证书的私钥没有权限.
要修复 - 打开certifacte管理,找到您的证书,右键单击 - >管理私钥,然后在安全性的最佳位置确保您的用户已添加并获得权限,并为我修复了该权限.
我有这个问题,我不完全确定下面的哪个步骤使它工作,但希望这有助于其他人......这就是我所做的:
certmgr.msc并导出证书(在第1步中使用的任何商店中找到)作为包含私钥和扩展属性的pfx文件(可能不需要)signtool sign /f "c:\mycert.pfx" /p mypassword /d "description" /t http://timestamp.verisign.com/scripts/timstamp.dll $(TargetPath)我也收到了同样的“私钥过滤后,留下了 0 个证书”消息,并花了太多时间试图弄清楚该消息的含义。
问题是我在 Windows 证书存储中错误地安装了证书,因此没有与代码签名证书关联的私钥。
我应该做的是这样的:
使用 Firefox 或 Internet Explorer 将请求提交给颁发者。这会生成一个私钥,该私钥由浏览器静默存储(Firefox 中会出现一个对话框几分之一秒)。请注意,其他浏览器可能无法工作:您的生命太短暂,无法确定它们是否可以工作。
提交请求,跳过发行人的验证环节,牺牲一只山羊,向众神祈祷,提交您曾祖父母签署的声明等。
下载证书 (.crt) 并将其导入到同一浏览器中。浏览器现在拥有私钥和证书。
将证书从浏览器导出为个人信息交换 (.p12) 文件。系统将要求您提供密码来保护该文件。
保留 .p12 文件的备份副本。
运行证书管理器 (certmgr.msc),右键单击个人证书存储,选择“所有任务/导入...”并将 .p12 文件导入 Windows。系统将要求您提供用于保护文件的密码。此时,根据您的安全要求,您可以将密钥标记为可导出,以便可以从 Windows 商店恢复副本。如果您想破坏批处理脚本,您还可以标记使用前需要密码。
成功运行signtool,松一口气,并思考您因错误消息和不良或丢失的文档而浪费了多少生命。
小智 5
标准包括帐户名称(与其关联的私钥),域名,公司,到期日期,预期目的等.
发生此错误有许多不同的可能原因,其中一些已经列出.这是另一个提示:导入证书时,请确保使用从证书颁发机构(CA)收到的原始文件,否则可能会丢失某些属性.
示例:最近我尝试导入从同一台计算机上的其他帐户导出的证书.证书对我的帐户可见,但与我的帐户无关,因此signtool在未明确提供文件名和密码的情况下拒绝识别该证书.当作为构建过程的一部分完成并在批处理文件或源文件中明确写出时,可能不够安全.(导入原始CA颁发的证书解决了它.)
| 归档时间: |
|
| 查看次数: |
265306 次 |
| 最近记录: |