ios - 仅使用 Windows 对 IPA 文件进行代码签名

标签 ios delphi openssl code-signing x509

对于 future 的项目,我需要了解 Apple iOS IPA 文件 (iPhone/iPad) 的代码签名过程是如何工作的。 我的项目的目标是(在 Delphi 中)构建一个 Windows 工具来对一个 IPA 文件进行代码签名(之前通过 XCode 使用“不要代码签名”编译)。

可以肯定的是,只有在 Windows 上才能对 IPA 文件进行代码签名;就像 Adob​​e 对 AIR/Flash CS5 所做的一样。此外,Epic Games, Inc. 使用第三方工具构建了 UDK(虚幻开发工具包)以对 IPA 文件进行代码签名。

最后一个是用 C#/.NET 编写的,所以我试图探索源代码以了解代码签名过程是如何工作的,但是,哇,代码相当进化,即使 C#/.NET 之间有显着的相似之处。 NET 和 Delphi,我很快就迷糊了……

UDK 的 iPhonePackager 非常接近我想做的事情(功能较少)。

根据我的研究:证书和 key 可以通过 OpenSSL 在命令行中“生成”; Apple 使用 X509 证书对二进制文件进行代码签名(?); Bouncy CaSTLe Crypto API 等组件可用于管理证书。

有关 Apple 代码签名过程的有趣文章:http://developer.apple.com/library/mac/#technotes/tn2206/_index.html

我还必须生成“CodeResources”;来自 Mobile Provisioning 文件的“embedded.mobileprovision”;和“CodeSignature/CodeResources”,所有文件的层次结构如下:

<key>MainWindow.nib</key>
<data>GTBfZPINlJlD7HXjMRAKgfAztXU=</data>

如果你读到这里,你肯定会头疼:)
所以,下面是一些可以开始的问题......

是否可以对已经编译并使用“不要代码签名”签名的二进制文件重新签名?
你觉得我的项目真的很辛苦吗...?
你认为我聘请开发人员会更好吗?我可以为这个项目制定预算,但理想情况下我当然想自己做...:D

非常感谢您的意见和/或建议。

贝尼

最佳答案

我已经编写了一个工具来更新移动设备并在 Windows 上退出 IPA,可以找到该工具及其 C# 源代码(根据 LGPL 许可)here .

关于ios - 仅使用 Windows 对 IPA 文件进行代码签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9934013/

相关文章:

ios - 在保存到文件之前旋转图像/上下文

delphi - 如何使用 ftp ://userName@host 连接到 FTP

mysql - 德尔福: Select into outfile using parameter

c# - MakeCert 和 OpenSSL wrt C# SslStream 之间的区别

ios - 如何使大写字母的 UILabel NSUnderlineStyle.StyleSingle attributedString 居中

ios - 向iOS App添加大量动态格式化文本

ios - 从嵌入在 UINavigationController 中的一个 View Controller 转到另一个 UINavigationController

delphi - 有没有办法记录 Delphi 中的每个 gui 事件?

iphone - 在 iPhone/Cocoa 上复制 OpenSSL smime 命令

ssl - Nginx PEM_read_bio_X509 PEM_read_bio :bad end line