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

时间:2016-04-12 06:53:12

标签: cordova certificate win-universal-app windows-10-universal windows-10-mobile

此过程应该相同,例如Windows 8.1(通用)应用程序。 (Link

我使用了这个命令:

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 Universal App时,签名有效。使用Windows 10,它失败了。该应用程序将通过mdm(已添加AET)提供。

我如何正确签名?

环境

操作系统: Windows 8.1企业版

安装的IDE: Visual Studio Community 2013& 2015

使用的IDE: Visual Studio Community 2015

VS项目详情: Apache Cordova,WinJS,angularjs

证书:来自赛门铁克的公司证书,来自外部公司

1 个答案:

答案 0 :(得分:0)

尝试使用此命令: signtool sign / fd< HashAlgorithm> / a / f c:\ SignApps \ Certificate.pfx / p<您的pfx密码> 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