8

我正在尝试使用 Visual Studio 2012 Express 为 Windows 商店应用程序签署我的 appx 文件,但收到以下错误:

SignTool Error: The specified algorithm cannot be used or is invalid

我正在通过 STORE->Create App Packages 菜单运行该过程,因此我无法直接访问 SignTool 的参数。

起初我以为是因为它使用了我们其他开发人员的自签名证书,所以我改用我们的真实证书,但仍然遇到同样的问题。

任何想法可能导致这种情况以及如何解决它?

编辑:怀疑问题是我们的普通证书不支持 SHA-256,所以我在 Visual Studio 中创建了一个新的测试证书,但得到了相同的结果。

EDIT2:验证我的 appx 包中的哈希算法是 SHA256,尝试使用以下命令手动运行 SignTool:

SignTool sign /a /f My_TemporaryKey.pfx /fd SHA256 /v /debug MyAppPackage.appx

同样的错误,控制台消息中没有有用的信息。

4

2 回答 2

0

就我而言,在旧的Windows XP开发机器上使用当前公司证书成功执行数十个可执行文件签名后,我开始遇到相同的错误,这似乎具有误导性。

为了克服它,我不得不更改我常用的时间戳服务器,这是一个SignTool的可选参数/t/tr,正如Daniel Georgiev 所建议的那样。在这种情况下,我选择了http://timestamp.comodoca.com

解决方案,因为我通常将公司的证书导入我的Windows 用户证书存储(*),如下所示。

(*) 导入证书后,在签名过程中无需再指定 .pfx。

Signtool.exe sign /t http://timestamp.comodoca.com /a /n "FileToBeSigned.exe" /v "MyExeFullPath" 

万一它仍然失败,我建议你检查这个综合的Alternative Timestamp Servers

于 2020-05-09T23:00:02.117 回答
0

当您尝试签署应用程序的 PC 中未安装证书时,会发生这种情况。

在 PC 中安装.pfx文件,然后尝试再次签署您的应用程序。要安装它,请右键单击证书并单击安装。然后按照程序将其安装到本地计算机中。

于 2019-07-08T04:36:16.993 回答