如何为Windows 8商店应用程序签署XML文件的代码

时间:2014-01-15 21:54:34

标签: windows microsoft-metro windows-store-apps code-signing

为了在Windows 8使用某些功能应用程序(即documentsLibrary),开发者必须EV代码登录从Microsoft使用SHA2 XML文件,按照仪表盘信息:

  

某些专业应用只能从开发者帐户提交   已经过身份验证的额外证明。这个   通过下载和签署带有的XML文件来获取EV状态   EV代码签名证书。大多数开发者帐户都不需要这个   附加状态。

http://msdn.microsoft.com/en-us/library/windows/apps/jj863494.aspx

  

此外,声明documentsLibrary功能的应用程序可以   只能从可以证明他们的开发者帐户提交   已获得扩展验证(EV)代码签名证书   来自证书颁发机构(CA)。 EV状态由确认   下载和签名Windows应用商店提供的XML文件   具有有效EV代码签名证书的门户网站   赛门铁克或Digicert。

我有XML文件和Symantec的证书,但我找不到任何关于如何编码签名XML文件的文档。我能找到的最近的是赛门铁克网站上有关signtool.exe的文章

https://knowledge.verisign.com/support/code-signing-support/index?page=content&actp=CROSSLINK&id=SO20528

但是当我尝试将signtool与Microsoft的XML文件一起使用时,我收到错误“此文件格式无法签名,因为它无法识别”。

所以我的问题是,如何使用我的证书签署此XML文件,以便将我的应用程序上传到商店?

2 个答案:

答案 0 :(得分:4)

作为MSDN suggest,您应该使用Code Signing Tool for Xml

令牌的用法:

SignXml.exe TOKEN SHA256 {publicCert.cer} {signable xml} 

Pfx的用法:

SignXml.exe PFX SHA256 {cert.pfx} {publicCert.cer} {signable xml}

如果您没有.pfx文件且只有.pvk,请使用此工具转换:pvk2pfx.exe(来自Windows Platform SDK)。

例如:pvk2pfx.exe -pvk myCertificate.pvk -spc myCertificate.cer -pfx myCertificate.pfx -po pa$$word

答案 1 :(得分:0)

请尝试使用此工具为您的xml文件签名:http://www.signfiles.com/xml-signer/ 来自Windows SDK的Signtool只能通过在文件中添加附加部分来签署二进制文件,如可执行文件或dll。