蘋果開發者帳號那些事兒(二)

1、關於證書

蘋果使用密文簽名技術來驗證App的合法性,不論是iOS應用仍是Mac應用都須要相應的簽名證書來做爲測試或發佈App用。這裏主要談談iOS的證書,固然,Mac的證書也基本相似。web

在開發iOS應用的時候,咱們須要簽名證書(開發證書)來驗證,並容許咱們在真機上對App進行測試。另外,在發佈App到App store的時候,咱們也須要證書(發佈證書)來作驗證。那麼什麼是簽名證書,如何獲取簽名證書,下面聽我慢慢道來。app

首先,證書(Certificate)是用來證實某一件事是否成立的,比如拿到的獲獎證書,是證實參加比賽並獲獎的憑證。相似,在iOS開發中,用證書來證實你是否具備某些權限或者能力來作某事。代碼簽名驗證容許咱們的操做系統來判斷是誰對App進行了簽名,在安裝了Xcode後,Xcode會在項目編譯期間使用你的代碼簽名驗證,這個驗證由一個由Apple認證過的公鑰-私鑰對組成,私鑰存儲在你的鑰匙串中(Mac本地,在系統實用工具中),公鑰包含在證書(Certificates)中,證書在本地鑰匙串和開發者帳號中都有存儲,這種公鑰-私鑰驗證受權的方式在不少地方都有使用到,好比Git中的SSH協議也是經過這種方式來確認訪問權限。另外,還有一個咱們能夠叫作媒介證書的證書來確保咱們的證書(Certificates)是通過受權而發佈的。以下圖所示:工具

1

當安裝好Xcode時,媒介證書(Intermediate Certificate)就已經安裝到咱們的鑰匙串中去了。經過在開發者帳號(Developer Account)和本地(Mac)都通過驗證的證書(Certificate)咱們就能夠利用合法的證書進行App的測試和發佈了。post

2、請求證書

在爲App簽名前,咱們須要向Apple請求籤名證書,前提是你已經註冊了開發者計劃並付費。測試

一、打開Xcode並進入右上角Organizer窗口,選中頂部第一個名爲Devices的Tab,以下圖:url

2

二、點擊菜單欄Editor並選擇Refresh from Developer Portalspa

三、輸入開發者帳號用戶名和密碼並點擊「Log in」,以下圖:操作系統

3

四、完成後點擊「Submit Request」按鈕,此時Xcode會向開發者後臺請求相應的證書,證書包括開發證書(Development)和發佈證書(Distribution)。窗口以下圖所示:code

4

五、請求完畢後,Xcode會詢問是否須要導出開發者證書,選擇「Export」導出。前面的介紹中咱們提到過,私鑰(Private key)是存儲在本地的,證書(Certificate)隨着公鑰(Public key)存儲在開發者帳號後臺,公鑰=私鑰對完成對一個開發者和一臺開發Mac設備的受權,因此,當咱們建立證書時就須要立刻備份咱們的證書,當切換Mac進行做業時,咱們只須要導入咱們的私鑰證書便可(公鑰證書在本地和開發者中心都存儲有)。orm

5

六、導出過程當中會要求你對導出的證書設置密碼,下次導入此證書時須要輸入該密碼,因此須要記住此處設置的密碼。導出的證書擴展名爲.developerprofile,當下次切換Mac進行開發時,,導入該證書便可。

6

導入.developerprofile證書:

7

3、驗證證書

一、在Xcode Organizer中左側TEAMS選項卡中能夠看到兩個證書顯示其中,一個是開發證書(Development),一個是發佈證書(Distribution),若是開發者證書驗證受權成功,則在證書上的小人頭像會顯示綠色小鉤。

8

二、當請求了開發者證書後,會自動在鑰匙串中(系統實用工具-鑰匙串訪問)顯示開發證書和發佈證書。當選中一個證書時,頂部的說明信息包括了證書發行商和受權信息,一樣若是看到綠色打鉤說明證書已經安裝成功。

9

三、在開發者後臺查看開發證書,登錄Developer後臺之後進入Certificates選項卡,分別在Development和Distribution選項卡中查看開發證書和發佈證書。此時,證書的信息應該和在Xcode中一致。

10

4、回顧總結

在上面的討論中,咱們介紹了簽名證書以及如何請求及驗證證書。在iOS開發中,總的來講主要包括兩個證書,一個是開發證書(Development certificates)用來驗證哪些設備能用來測試App,在開發測試階段使用這個證書。另外一個是發佈證書(Distribution certificates),用來驗證是否能向App store提交App審覈和發佈。若是是公司團隊帳號,發佈證書能在具備發佈權限的團隊成員間共享。如下是官方對證書類型和名字的一個列表統計,比較詳細的例舉了證書類型、名字以及簡要描述。

11

後記:本次關於蘋果開發者帳號證書相關的介紹就到此結束了,不足之處望你們指正和補充。下篇將主要介紹Provisioning Profile的二三事。歡迎繼續關注。

相關文章
相關標籤/搜索