RSA是一種非對稱算法逾雄,就是公鑰和私鑰配對進(jìn)行加解密的方式,蘋果的證書就是用的這種加解密算法腻脏,只要搞清楚公鑰和私鑰分別是什么鸦泳,就很容易理解蘋果證書加密的東西了。
證書的公私秘鑰
在申請證書的時(shí)候永品,首先會從自己的Mac電腦上生成一個(gè)CSR文件(在鑰匙訪問串-證書助理)
關(guān)于CSR文件:https://en.wikipedia.org/wiki/Certificate_signing_request
這個(gè)文件包含了一個(gè)公鑰做鹰,生成的CSR文件后綴名是certSigningRequest
然后去蘋果網(wǎng)站上生成證書文件的時(shí)候,會要求上傳這個(gè)CSR文件鼎姐,并生成一個(gè).cer證書文件
關(guān)于證書文件:https://developer.apple.com/documentation/security/certificate_key_and_trust_services/certificates?language=objc
這個(gè)文件包含了配對的私鑰信息钾麸,這樣本地安裝后tool chain就維護(hù)了一對公私鑰
打包的過程
打包的過程,首先會先用證書的私鑰對應(yīng)用進(jìn)行簽名炕桨,然后把這個(gè)cer證書文件打包到應(yīng)用里面
注意饭尝,這里的證書文件是也是經(jīng)過加密的,這個(gè)證書文件是從蘋果服務(wù)器下載下來的献宫,由蘋果的服務(wù)器使用私鑰進(jìn)行加密
應(yīng)用的解密
在安裝應(yīng)用的時(shí)候芋肠,使用手機(jī)內(nèi)預(yù)裝的公鑰對證書進(jìn)行解密(每個(gè)手機(jī)都會有系統(tǒng)級別的公鑰,這個(gè)公鑰與蘋果服務(wù)器用來加密證書的私鑰是配對的)遵蚜,拿到證書后帖池,就可以使用證書內(nèi)的公鑰對應(yīng)用進(jìn)行解密了