通用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