理解 iOS 開發(fā)中使用的證書

在 iOS 開發(fā)中需要用到多種證書,在以前雖然經(jīng)常用到,但沒有關(guān)注這些證書是什么和為什么要使用這些證書,導(dǎo)致在遇到問題時總是要去查資料,不能夠很快的解決問題,所以想把這些知識整理一下,記錄下來。

簡單來說,進(jìn)行 iOS 開需要的兩種類型的證書:Certificates 和 Provisioning,而根據(jù)不同的使用環(huán)境,這兩種證書又有 Development 和 Distribution 兩種版本。顧名思義 Development 版本用在開發(fā)環(huán)境下的,而 Distribution 版本則是用在發(fā)布環(huán)境下。下面再來說一說 Certificates 和 Provisioning 到底是什么。

Certificates

為了確保應(yīng)用來源的可靠性,Apple 使用了公私鑰加密的方式。在向 Apple 申請 Certificate 時開發(fā)者首先鑰需要在本地生成一對公私鑰,這就是 Certificate Signing Request (CSR) 文件,私鑰用來對應(yīng)用進(jìn)行簽名,而公鑰則用來對應(yīng)用進(jìn)行驗證。把 CSR 文件上傳之后,生成的 Certificate 文件就包含了相應(yīng)的公鑰,這個證書可以用來驗證應(yīng)用是不是擁有還證書私鑰的開發(fā)者簽名的,從而確保了安全性。

Provisioning

程序進(jìn)行打包發(fā)布的時候,Provisioning 文件會打包到應(yīng)用文件中,在 Provisioning 中包括了應(yīng)用 ID,驗證應(yīng)用可靠性的 Certificate 也就是公鑰,以及該應(yīng)用可在哪些設(shè)備上運行的信息。

總結(jié)

這么就可以看出,Certificates 主要使用來驗證開發(fā)者的,而 Provisioning 包含了 Certificate 的信息和應(yīng)用 ID 所以它就可以驗證該應(yīng)用包是不是由正確的開發(fā)者開發(fā)的,以及應(yīng)用包是不是對應(yīng)用ID的包。

參考資料

iOS 基礎(chǔ):證書介紹

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容