如何签署Windows 10 (UWP)应用程序?

4

这个过程应该与Windows 8.1(通用)应用程序相同。 (链接)

我使用了这个命令:

powershell.exe -ExecutionPolicy Unrestricted -File "c:\program files (x86)\Microsoft SDKs\WindowsPhoneApp\v8.1\Tools\MDILXAPCompile\BuildMDILAPPX.ps1" -appxfilename "C:\SignApps\App.appx" -pfxfilename "c:\SignApps\Certificate.pfx" -password ***** -inputFolder "C:\SignApps\input" -outputfolder "C:\SignApps\output"

签名过程出现了以下错误:
MakeAppx : error: You must include a valid app package manifest file named AppxManifest.xml in the source.
MakeAppx : error: Package creation failed.
MakeAppx : error: 0x80080203 - The specified package format is not valid: The file is not a valid app package because it is missing a required footprint file.

这些应用程序是通过 Cordova 构建的。当我使用 Windows 8.1 通用应用程序时,签名能够工作。但在使用 Windows 10 时会失败。该应用程序将通过 MDM 提供(其中 AET 已添加)。应该如何正确签名?
环境:
操作系统:Windows 8.1 Enterprise 已安装的 IDE:Visual Studio Community 2013 & 2015 使用的 IDE:Visual Studio Community 2015 VS 项目详情:Apache Cordova,WinJS,angularjs 证书:从外部公司获得的 Symantec 公司证书

你好!现在找到解决方案了吗?我也遇到了同样的问题,只是没有使用Cordova。 - Florian-Rh
这个问题让我很苦恼,因为缺乏(明确的)文档。我在这里找到了一个类似的链接。真是令人沮丧。对于iOS和Android,该怎么做很清楚,但对于Windows来说却不是这样。 - peterc
1个回答

0

尝试使用以下命令: signtool sign /fd <HashAlgorithm> /a /f c:\SignApps\Certificate.pfx /p <Your pfx password> App.appx

这样,您的原始应用程序将被签名。

注意:Signtool是通过安装Windows SDK 10并将“C:\ Program Files(x86)\ Windows Kits \ 10 \ bin \ x64”路径添加到环境变量中来安装的。 您可以通过以下方法获取应用程序的HashAlgorithm:

  • 将您的应用程序重命名为.zip,然后提取此文件AppxBlockMap.xml
  • 现在搜索以下内容:HashMethod= "http://www.w3.org/2001/04/xmlenc#
  • 在xmlenc#之后,将会有您的哈希算法,例如在我的情况下: HashMethod="http://www.w3.org/2001/04/xmlenc#sha256"它是sha256

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接