企业包如何重签名

工具准备
1、codesign的命令行工具来实现重签名。(Mac自带)
2、从 developer.apple.com 获取企业账号有效证书,用于签名使用。"iPhone Distribution: ***"
3、从 developer.apple.com 获取描述文件,用于签名使用。***.mobileprovision
4、从 developer.apple.com 注册签名用包名,例如 com.***.***,用于重新签名 com.***.***2
4、需要重签名的ipa包

 

生成 embedded.mobileprovision 文件
修改文件名,修改 ***.mobileprovision 为 embedded.mobileprovision

 

生成 entitlements.plist 授权机制文件
1、通过security命令,从embedded.mobileprovision文件中生成一个完整的plist文件
终端命令:
security cms -D -i "mobileprovision文件" > "entitlements文件"
具体操作命令:
security cms -D -i /../embedded.mobileprovision > entitlements_full.plist
2、获取其中的Entitlements字段
终端命令:
/usr/libexec/PlistBuddy -x -c 'Print:Entitlements' entitlements_full.plist > entitlements.plist
3、文件生成后放一边,下面的重签名步骤会用到

 

解压ipa包
unzip game.ipa

 

重签名
把上面生成的entitlements.plist写入
/usr/bin/codesign --continue -f -s "证书" --entitlements "entitlements文件" "需要签名的app文件"
一般操作:
/usr/bin/codesign --continue -f -s "iPhone Distribution: ***" --entitlements entitlements.plist Payload/game.app

 

打包
zip -r sigined.ipa Payload

 

其他
以下命令获取对应app的entitlements信息并用打印,打印内容可用于创建entitlements.plist文件
codesign -d --entitlements - Payload/XXX.app

posted on 2018-09-26 09:41  shawn.zp  阅读(1140)  评论(1编辑  收藏  举报