1,重签名的原因?
有需求就有市场,当前苹果的签名机制也允许用户可以重签名
一是代码有业务移交等类似需求操作,需要重签名后使用
二是有恶意攻击,代码注入,重签名后让用户安装,添加挂件脚本或者恶意操作
三是有些软件不好放在App Store上
2,重签名有哪些操作,要点?
1,三要素:包名bundleID、embedded.mobileprovision、证书
包名bundleID这大家都知道,手机上app的标识。
【小知识点:bundleID是唯一的】也就是说你设置的bundleID是不能和App Store已有app有同样包名的。这个小知识点有点废话,要是bundleID不唯一,我写个微信包名直接把微信给覆盖了,微信app找谁哭去。当然如果developer的app,就另算了!
证书:经过苹果私钥签名生成的证书文件。
【Mac生成公私密钥,在证书申请时公钥上传开发者账号,苹果私钥签名并生成证书。证书可以添加到Mac的钥匙串中。钥匙串中导出的p12是私钥,所以使用p12其他Mac也能正常使用该证书】
embedded.mobileprovision描述文件:里面包含(证书+设备IDS+Entitlements运行权限)
【embedded.mobileprovision也是经过苹果私钥加密的】
2,操作过程
1,首先替换其中的embedded.mobileprovision
2,使用codesign或者其他重签名工具,用证书进行重签名
当然上面都是废话还不详细,具体操作可以查看https://www.jianshu.com/p/3503641649b5
以及这一篇简书https://www.jianshu.com/p/a7bbcdf93174,操作和基础都讲了
3,这篇文章写作的意义?
如果是仅仅复述记录,加深记忆,有点多余。
这篇主要为了开启对ios+macOS代码签名更深一层研究的基础篇。
网友评论