Ios 如何告知用于签名.ipa的配置文件/签名证书?
我有一堆.ipa文件,我使用了一个脚本来放弃它们 那么,如何检查配置文件/签名证书以确认它们使用的信息正确 理想情况下,我希望能够获取任何.ipa文件,并告知使用哪个配置文件/签名证书对其进行签名 背景:我们的企业分销证书即将到期,我想重新签署我们的产品。对于我们在Xcode中制作和归档的所有内容,这都是简单的,但对于第三方供应商制作的可分发内容,我不能这样做。我想避免要求重新签名的.ipa文件,因为新的.ipa文件可能包含未知的更改并引入问题,他们可能也会向我们收费。。。但我更担心的是第一个问题Ios 如何告知用于签名.ipa的配置文件/签名证书?,ios,xcode,certificate,code-signing,ipa,Ios,Xcode,Certificate,Code Signing,Ipa,我有一堆.ipa文件,我使用了一个脚本来放弃它们 那么,如何检查配置文件/签名证书以确认它们使用的信息正确 理想情况下,我希望能够获取任何.ipa文件,并告知使用哪个配置文件/签名证书对其进行签名 背景:我们的企业分销证书即将到期,我想重新签署我们的产品。对于我们在Xcode中制作和归档的所有内容,这都是简单的,但对于第三方供应商制作的可分发内容,我不能这样做。我想避免要求重新签名的.ipa文件,因为新的.ipa文件可能包含未知的更改并引入问题,他们可能也会向我们收费。。。但我更担心的是第一个问
由于我们的旧分发证书和新分发证书仍然有效(您将获得6个月的重叠),我需要能够确认新分发证书是否已被使用,否则,当旧分发证书过期且“辞职”脚本未实际执行任务时,我将看起来非常愚蠢。我已经能够使用以下过程成功地进行测试
(但我仍然想找到更好的方法)配置文件有一个UUID,可以使用终端命令查看: 安全cms-D-i(路径到您的配置文件) 请参见命令输出的UUID部分,如:
UUID
A008C022-7B82-4E40-8B37-172763E1E3CC
Xcode插入用于在.app捆绑包中对应用程序进行签名的配置文件。要找到它,请将.ipa重命名为.zip,使用Finder解压,然后在/Payload中找到.app文件。在.app文件上“显示软件包内容”,并找到名为embedded.mobileprovision
的配置文件
使用上述命令转储其权限,并将其与在“库”下的Xcode Organizer>设备选项卡>配置文件部分的配置文件中找到的UUID进行比较。您可以使用“在查找器中显示”来显示它们在磁盘上的位置 根据Bobjt的回答,我使用IPCU获得了配置文件的详细信息:
IPCU显示配置文件的名称/到期日期等。我最终使用了Bobjt和HaemEternal解决方案的混合方案
如果试图确定是否使用特定证书对.ipa进行了签名,可以执行以下操作: 如果您熟悉python,可以使用我创建的这个脚本将嵌入.ipa中的证书与您拥有的证书进行比较 或者,您可以从Mac的命令行手动执行脚本所执行的操作
解压Foobar.ipa
security-cms-Di-Payload/Foobar.app/embedded.mobileprovision
base64 barfoo.cer>barfoo.txt
cmp cert_from_foobar.txt barfoo.txt | | echo“这些文件不一样”。
如果它们是相同的,将看不到任何消息。这是一个痛苦的测试开始,但我已经编写了一个脚本,其中包含一个。ipa拉出配置文件的名称并检查过期日期,因此我将能够自动执行此操作,以便更快地进行测试。所以对我来说。。。这将是一个更好的解决方案。该命令行给出输出:“安全性:未能向解码器添加数据:未知(-8183(d)总线错误:10”Adam
$ ipa info /path/to/app.ipa
+-----------------------------+----------------------------------------------------------+
| ApplicationIdentifierPrefix | DJ73OPSO53 |
| CreationDate | 2014-03-26T02:53:00+00:00 |
| Entitlements | application-identifier: DJ73OPSO53.com.nomad.shenzhen |
| | aps-environment: production |
| | get-task-allow: false |
| | keychain-access-groups: ["DJ73OPSO53.*"] |
| CreationDate | 2017-03-26T02:53:00+00:00 |
| Name | Shenzhen |
| TeamIdentifier | S6ZYP4L6TY |
| TimeToLive | 172 |
| UUID | P7602NR3-4D34-441N-B6C9-R79395PN1OO3 |
| Version | 1 |
+-----------------------------+----------------------------------------------------------+
python ipa_cert_checker.py /Users/janedoe/Dcouments/Foobar.ipa /Users/janedoe/Dcouments/barfoo.cer