iOS證書原理
前言:
每一臺Mac裝置都會有一套對應的公鑰和私鑰,在我們進行鑰匙串訪問的時候生成Certificate Signature Request的時候就會生成對應的公鑰和私鑰。
iOS證書籤名流程圖如下所示:

圖片發自簡書App
現在詳細的解釋一下每一步的操作:
第一步:Mac裝置用私鑰對App進行數字簽名,生成App程式碼以及App的簽名。
第二步:蘋果後臺的私鑰對Mac裝置的公鑰進行證書籤名,生成Mac公鑰以及對應的Mac公鑰雜湊值加密後的值,也即是證書。我們Mac裝置的公鑰和私鑰其實是存放在我們的鑰匙串中的。
第三步:蘋果後臺的私鑰對第二步生成的證書以及App ID,Entitlements和Devices進行數字簽名,生成對應的數字簽名和證書以及App ID , Entitlements 和Devices的明文, 這一步也就是生成描述檔案。
第四步:蘋果公鑰對第三步的描述檔案中的數字簽名進行驗證,驗證通過之後,可以拿到裡面的證書。然後再用描述檔案中的App資訊對App的資訊以及手機裝置資訊進行校驗。
第五步:用蘋果公鑰對第四步中拿到的證書進行數字簽名驗證,驗證通過之後可以拿到證書裡面的Mac公鑰。
第六步:用第五步中拿到的Mac裝置的公鑰對App進行數字簽名校驗,驗證通過之後就說明可以在真機上面執行。