对于未来的项目,我需要了解Apple iOS IPA文件(iPhone / iPad)的协同处理过程是如何工作的。 我的项目的目标是构建(在Delphi中)一个Windows工具,用于对一个IPA文件进行编码(之前通过XCode编译为“ Do not Code Sign ”)。
可以肯定的是,只能在Windows上对IPA文件进行编码;就像Adobe使用AIR / Flash CS5一样。此外,Epic Games,Inc。使用第三方工具构建了UDK(虚幻开发工具包),以对IPA文件进行编码。
最后一个是用C#/ .NET编写的,所以我试图探索源代码来了解代码签名过程是如何工作的,但是,哇,代码是相当进化的,即使C#/之间有很大的相似之处。 NET和Delphi,我很快就糊涂了......
UDK的iPhonePackager非常接近我想做的事情(功能较少)。
根据我的研究:证书和密钥可以通过命令行中的OpenSSL“生成”; Apple使用X509证书对二进制文件进行编码(?);像 Bouncy Castle Crypto API这样的组件可用于管理证书。
一篇关于Apple的代码签名过程的有趣文章:http://developer.apple.com/library/mac/#technotes/tn2206/_index.html
此外,我还要生成“ CodeResources ”;移动配置文件中的“ embedded.mobileprovision ”;以及“ CodeSignature / CodeResources ”以及所有文件的层次结构,如:
<key>MainWindow.nib</key>
<data>GTBfZPINlJlD7HXjMRAKgfAztXU=</data>
如果你读到目前为止,你肯定会头疼:)
所以,下面几个问题要开始......
是否可以重新签名已编译并使用“不签名”签名的二进制文件?
你认为我的项目真的很难......?
您认为雇用开发人员会更好吗?我可以为这个项目预算,但理想情况下我当然希望自己做...:D
非常感谢建议和/或建议。
贝尼
答案 0 :(得分:1)
我正在开发一个类似的项目,但我找不到UDK工具的源文件,它是开源的吗?如果是的话,你能给我一个链接吗?
我可以告诉你CodeResources文件在base64中使用了sha1摘要。 您可以使用openssl创建: openssl dgst -sha1 -binary | openssl enc -base64