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代碼簽名更深一層研究的基礎篇。