请问各位大佬,在linux环境下,是否能执行codesign这个命令,

isign -c /data/www/ipa_sign/certificate.pem -k /data/www/ipa_sign/key_new.pem -p /data/www/ipa_sign/0313_dev_ldd.mobileprovision -o /data/www/ipa_sign/resigned.ipa /data/www/ipa_sign/Example.ipa -v

这是日志:Signing with apple_cert: /usr/local/lib/python2.7/dist-packages/isign/apple_credentials/applecerts.pem
Signing with key: /data/www/ipa_sign/key_new.pem
Signing with certificate: /data/www/ipa_sign/certificate.pem
Signing with provisioning_profile: /data/www/ipa_sign/0313_dev_ldd.mobileprovision
got executable /usr/bin/zip for zip
got executable /usr/bin/unzip for unzip
precheck
path: /data/www/ipa_sign/Example.ipa
extension match
extension match: .ipa
this is an archive, and a zipfile
found one app
is_native: True
found one app
File /data/www/ipa_sign/Example.ipa matched as IpaArchive
got executable /usr/bin/unzip for unzip
wrote Entitlements to /tmp/isign-atXqAy/Payload/Example.app/Entitlements.plist
working on /tmp/isign-atXqAy/Payload/Example.app/Example
Resigned bundle at </tmp/isign-atXqAy/Payload/Example.app>
got executable /usr/bin/zip for zip
archived IpaArchive to /data/www/ipa_sign/resigned.ipa
removing ua: /tmp/isign-atXqAy

这种情况一般是 pem 或者 mobileprovision的原因,重新生成一下试试看

需要更新isign这个项目里自带的 applecerts.pem 吗

必须的,换成自己p12生成的 pem

大佬有遇到过重签名成功iOS10能安装 iOS11不能安装的情况吗

终于遇到有人研究codesign了

从我目前研究的结果来看,ios12以下很多工具都可以,ios12及以上由于增加了CoreTrust的原因,还没有谁实现了linux环境下的重签名工具。详细原因可以参考我目前的进展

如有突破,还请不吝指教!

具体原因需要具体分析,官方的codesign只会签一层,如果app内有appex、framework之类的需要先签里面的包,再签外面的。另外安装失败可以通过xcode查看控制台信息

大佬 问个问题 isign 的参数 -c /xx/xx/xxx.pem -k /xx/xx/xx.pem 都是那些指的那些文件? 我现在有 导出的p12文件,然后把这个文件 转换成了 pem 这个是给 -c 用的 还是给 -k 用的? 那剩下的那个要用那个文件?

大佬 你是在 mac 上重签还是 linux

isign_export_creds.sh里有说明 导出的p12文件生成两个pem文件 ,
openssl pkcs12 -in *.p12 -out certificate.pem -clcerts -nokeys
openssl pkcs12 -in *.p12 -out key.pem -nocerts -nodes

请问问题解决了吗

嗯嗯 这弄好了。但是 我现在 在 linux 的 ubuntu上面使用 isign 这个工具 去重签的时候 报错了 说我的 certificate.pem 没有 subject 内容 。但是我看是有的。 这个大佬有碰到过吗?具体报错可以看这个 isign 里面 issues的116

没有,我遇到的问题和 @yzy 一样。签名完成后查看是invalid signature

很神奇。我在 ubuntu 上面使用 isign 签名就报错 报的是 openssl 的问题
但是 我又用 centos 签名 就没问题。

我遇到的也是这个问题 签名签名成功了 但是无法安装,请问拟解决了吗

你好我用的也是isign 在centos重签名 能分享下你的操作步骤吗

你好,请问你也是用isign重签吗,我对存在PlugIns文件夹的ipa包重签会安装失败

自己写的工具

你是根据 codesign官方源码还有Cydia Imapctor 实现的吗,我看你另外一个帖子中有提到过

isign + ldid 源码