通用Windows应用程序位于.appx文件中,该文件只是一堆文件和元数据的zip文件。大多数元数据文件都广泛记录在Microsoft网站上,并且对于解析和/或重新生成微不足道。然而AppxSignature.p7x仍然是一个谜。AppxSignature.p7x的结构是什么?
从这个图(source):
AppxSignature.p7x应该有AppxBlockMap.xml,内容&目录散列的散列和签名。但是我找不到任何AppxSignature.p7x文件本身的文档。理想情况下,我想使用替代工具来生成和验证此签名,例如openssl/gnutls或类似的。对此的实际使用是更新和重新打包Linux上的应用程序,并为Windows应用商店准备.appxupload文件。
signtool如何准确地与APPX文件一起工作没有记录(仅记录PE格式文件:http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fde-d599bac8184a/ authenticode_pe.docx),因为你应该在Windows上使用SignerSign API(这正是signtool所涵盖的)。然而,有一个开源工具,应该做你想在这里所谓的“fb-util-for-appx”:https://github.com/facebook/fb-util-for-appx –
@SimonMourier这是godsent的东西!这就像我之后重新实施的一样!如果你提交这个答案作为答案,我会奖励你,因为所有的源代码不仅记录了所有的诡计,而且它是一个现成的工具,可以在linux上生成appx包(甚至是mac)。在非Windows上制作appx是我最终所追求的。 – Dima