对于未来的一个项目,我需要学习苹果iOS IPA文件(iPhone/iPad)的代码签名过程。我的项目目标是在Delphi中构建一个Windows工具,以对一个IPA文件进行代码签名(之前通过XCode编译时使用“不进行代码签名”)。
有一件确定的事情,就是只有在Windows上才能对IPA文件进行代码签名;就像Adobe使用AIR/Flash CS5一样。此外,Epic Games, Inc.使用第三方工具构建了UDK(Unreal Development Kit)来对IPA文件进行代码签名。
这个最后一个是用C#/.NET编写的,所以我试图探索源代码以了解代码签名过程,但是,哇,代码相当复杂,即使C#/.NET和Delphi之间存在显着的相似性,我也很快就迷失了……
UDK的iPhonePackager非常接近我想要做的事情(功能较少)。
根据我的研究:证书和密钥可以通过命令行使用OpenSSL“生成”;Apple使用X509证书对二进制文件进行代码签名(?);可以使用类似“Bouncy Castle Crypto”APIs的组件来管理证书。
如果你已经看到这里,你肯定有点头疼了 :)
所以,以下是一些问题作为开始...
是否可以重新签名一个已经编译并用“不要代码签名”签名的二进制文件?
你认为我的项目真的很难吗...?
你认为我最好雇一个开发者吗?我可以为这个项目提供预算,但理想情况下我当然希望自己完成... :D
非常感谢您提前的建议和/或建议。
Beny
有一件确定的事情,就是只有在Windows上才能对IPA文件进行代码签名;就像Adobe使用AIR/Flash CS5一样。此外,Epic Games, Inc.使用第三方工具构建了UDK(Unreal Development Kit)来对IPA文件进行代码签名。
这个最后一个是用C#/.NET编写的,所以我试图探索源代码以了解代码签名过程,但是,哇,代码相当复杂,即使C#/.NET和Delphi之间存在显着的相似性,我也很快就迷失了……
UDK的iPhonePackager非常接近我想要做的事情(功能较少)。
根据我的研究:证书和密钥可以通过命令行使用OpenSSL“生成”;Apple使用X509证书对二进制文件进行代码签名(?);可以使用类似“Bouncy Castle Crypto”APIs的组件来管理证书。
一篇关于苹果代码签名过程的有趣文章: http://developer.apple.com/library/mac/#technotes/tn2206/_index.html
另外,我还需要从移动配置文件生成"CodeResources"、"embedded.mobileprovision"和带有所有文件层次结构的"CodeSignature/CodeResources"。
<key>MainWindow.nib</key>
<data>GTBfZPINlJlD7HXjMRAKgfAztXU=</data>
如果你已经看到这里,你肯定有点头疼了 :)
所以,以下是一些问题作为开始...
是否可以重新签名一个已经编译并用“不要代码签名”签名的二进制文件?
你认为我的项目真的很难吗...?
你认为我最好雇一个开发者吗?我可以为这个项目提供预算,但理想情况下我当然希望自己完成... :D
非常感谢您提前的建议和/或建议。
Beny