在 iOS 開發(fā)中需要用到多種證書琴许,在以前雖然經(jīng)常用到税肪,但沒有關(guān)注這些證書是什么和為什么要使用這些證書,導(dǎo)致在遇到問題時(shí)總是要去查資料,不能夠很快的解決問題益兄,所以想把這些知識(shí)整理一下锻梳,記錄下來。
簡(jiǎn)單來說净捅,進(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 申請(qǐng) Certificate 時(shí)開發(fā)者首先鑰需要在本地生成一對(duì)公私鑰捉腥,這就是 Certificate Signing Request (CSR) 文件氓拼,私鑰用來對(duì)應(yīng)用進(jìn)行簽名你画,而公鑰則用來對(duì)應(yīng)用進(jìn)行驗(yàn)證抵碟。把 CSR 文件上傳之后,生成的 Certificate 文件就包含了相應(yīng)的公鑰坏匪,這個(gè)證書可以用來驗(yàn)證應(yīng)用是不是擁有還證書私鑰的開發(fā)者簽名的拟逮,從而確保了安全性。
Provisioning
程序進(jìn)行打包發(fā)布的時(shí)候适滓,Provisioning 文件會(huì)打包到應(yīng)用文件中沟娱,在 Provisioning 中包括了應(yīng)用 ID团搞,驗(yàn)證應(yīng)用可靠性的 Certificate 也就是公鑰,以及該應(yīng)用可在哪些設(shè)備上運(yùn)行的信息。
總結(jié)
這么就可以看出律杠,Certificates 主要使用來驗(yàn)證開發(fā)者的,而 Provisioning 包含了 Certificate 的信息和應(yīng)用 ID 所以它就可以驗(yàn)證該應(yīng)用包是不是由正確的開發(fā)者開發(fā)的麻裁,以及應(yīng)用包是不是對(duì)應(yīng)用ID的包断国。