SignTool 错误:此文件格式无法签名,因为无法识别 - Maui .net8

问题描述 投票:0回答:1

从 Visual Studio for Windows 发布默认的 .net8 maui 应用程序后,我无法签署生成的 .msix 包并收到此错误:

SignTool Error: This file format cannot be signed because it is not recognized

公司决定不向开发者提供证书文件,所以我必须使用 Digicert Keylocker 平台工具来签署我的应用程序。

使用以下命令调用 smctl 工具:

smctl sign --keypair-alias=key_123456789 -d=SHA256 --verbose --config-file "e:\TEMP\certing\pkcs11properties.cfg" --input "e:\TEMP\package\testApp.msix"

smctl 工具生成的signtool 命令是:

signtool sign  /tr http://timestamp.digicert.com /td SHA256  /fd  SHA256   /csp "DigiCert Signing Manager KSP" /kc "key_123456789" /f "C:\Users\MyUserName\AppData\Local\Temp\1122334455\key_123456789_certificate.pem" "e:\TEMP\package\testApp.msix"

其他一些 .exe 文件的签名工作正常。

我不知道如何调查问题或解决方法。我希望你能帮助我!

Visual Studio 2022 17.9.6

Windows Kit 版本的 Signtool 是 10.0.22621.2428

Windows 10 22H2(内部版本 19045.4355)

.net 8.0.4

visual-studio-2022 .net-8.0 signtool msix smctl
1个回答
0
投票

您可能想尝试Jsign(免责声明:我是作者),这是一个开箱即用的支持 DigiCert Keylocker 的替代签名工具。如果文件有问题,您可能会收到更详细的错误消息。语法如下:

jsign --storetype DIGICERTONE \
      --storepass "<api-key>|/path/to/Certificate_pkcs12.p12|<password>" \
      --alias key_123456789 testApp.msix
© www.soinside.com 2019 - 2024. All rights reserved.