轉載自:http://www.samirchen.com/ios-certificates/html
先簡單的介紹一下公鑰和私鑰。咱們常見的加密算法有兩類:對稱加密算法(Symmetric Cryptographic Algorithm) 和 非對稱加密算法(asymmetric cryptographic algorithm)。ios
對於對稱加密算法,通常只有一個祕鑰。經過這個祕鑰對一份數據進行加密,那麼有這個祕鑰的人才能夠用它解密這份數據。算法
對於非對稱加密算法,通常有兩個祕鑰:公鑰和私鑰。好比你經過私鑰對一份數據進行加密,那麼收到這份加密過的數據的人,能夠經過這個私鑰對應的公鑰對數據進行解密。這時他能夠確認,這個數據是從你那來的(至少是你加密的)。這個私鑰就至關於一個「簽名」(你加的密,就是你籤的字)。而這個就是iOS中Code Signing背後的原理。app
這個證書叫作 Worldwide Developer Relations Certificate Authority
,經過這個連接能夠下載:https://developer.apple.com/certificationauthority/AppleWWDRCA.cer,通常下載下來的文件名爲:AppleWWDRCA.cer
。ide
爲了確保你能使用其餘的 iOS 開發或者發佈證書,你須要下載這個證書並雙擊打開,它會被存儲在你電腦上的 Keychain Access
中。這個證書能夠認爲是相似於根證書的東西,用來肯定你的 iOS 開發或發佈的各類證書是與蘋果的開發者關聯的,而不是在別的什麼地方生成的。一般狀況下,這個證書是由 Xcode 自動安裝的。測試
這裏的證書通常都是 .cer
類型,分爲 Development
和 Distribution
用途。通常在 Xcode 中製做便可:網站
固然,也能夠手動製做。在蘋果的 Certificates, Identifier & Profiles 網站上按照提示一步一步來:ui
To manually generate a Certificate, you need a Certificate Signing Request (CSR) file from your Mac. To create a CSR file, follow the instructions below to create one using Keychain Access. Create a CSR file. In the Applications folder on your Mac, open the Utilities folder and launch Keychain Access.加密
Within the Keychain Access drop down menu, select Keychain Access > Certificate Assistant > Request a Certificate from a Certificate Authority.code
大體步驟就是在本身的電腦上用 Keychain Access
生成一個 Certificate Signing Request
文件,這會在本地建立一對 公鑰/私鑰,按提示步驟上傳文件,蘋果接收這個文件後會驗證信息,而後給你建立一個認證文件供你下載,這個文件就是 .cer
格式的。這時候你雙擊這個.cer
文件,那麼就能夠在 Keychain Access
中打開,在 Certificates
選項欄中能夠看到它是有私鑰的,同時在 Keys
選項欄中能夠看到對應的 私鑰 和 公鑰。
可是若是你刪除掉 私鑰 和 公鑰,而後再雙擊那個 .cer
文件,就會發現此時在 Keychain Access
中打開,在 Certificates
選項欄中的這個證書沒有私鑰了。在其餘的電腦上下載這個.cer
文件也是一樣的道理,都會沒有對應的私鑰,那是不能使用的。那怎麼辦呢?能夠把私鑰證書導出來傳到別的電腦上雙擊打開便可,私鑰證書通常是 .p12
格式的。
這裏的證書通常也是 .cer
類型的,要製做的話,按照蘋果 Certificates, Identifier & Profiles 網站上的提示一步一步來作,跟上一節是同樣的。
對於Certificates
這塊,須要注意的就是私鑰證書(.p12)必定要保存好,這樣當你換電腦開發或者多人開發的時候,只須要從新下載一下 .cer
文件,而後再雙擊導入一下 .p12
便可。
很少講了,就是一個 App 對應一個 ID,一般是 com.company-name.app-name 的命名方式。
在這裏添加測試設備的 UDID。
把前面的東西合起來:
就是 Provisioning Profile
。
Provisioning Profile
會經過 Xcode 或者 iTunes 導入到設備中,或者打包到一個的 .ipa
安裝包文件中。
更多內容能夠參考: 證書相關文檔