iOS-代码签名--重签名

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代码签名更深一层研究的基础篇。

ios-代码签名--苹果代码签名的格式

你可能感兴趣的:(iOS-代码签名--重签名)