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


一、關於證書

蘋果使用密文簽名技術來驗證App的合法性,不管是iOS應用還是Mac應用都需要相應的簽名證書來作為測試或發布App用。這里主要談談iOS的證書,當然,Mac的證書也基本類似。

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

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

1

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

二、請求證書

在為App簽名前,我們需要向Apple請求簽名證書,前提是你已經注冊了開發者計划並付費。

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

2

2、點擊菜單欄Editor並選擇Refresh from Developer Portal

3、輸入開發者賬號用戶名和密碼並點擊“Log in”,如下圖:

3

4、完成后點擊“Submit Request”按鈕,此時Xcode會向開發者后台請求相應的證書,證書包括開發證書(Development)和發布證書(Distribution)。窗口如下圖所示:

4

5、請求完畢后,Xcode會詢問是否需要導出開發者證書,選擇“Export”導出。前面的介紹中我們提到過,私鑰(Private key)是存儲在本地的,證書(Certificate)隨着公鑰(Public key)存儲在開發者賬號后台,公鑰=私鑰對完成對一個開發者和一台開發Mac設備的授權,所以,當我們創建證書時就需要馬上備份我們的證書,當切換Mac進行作業時,我們只需要導入我們的私鑰證書即可(公鑰證書在本地和開發者中心都存儲有)。

5

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

6

導入.developerprofile證書:

7

三、驗證證書

1、在Xcode Organizer中左側TEAMS選項卡中可以看到兩個證書顯示其中,一個是開發證書(Development),一個是發布證書(Distribution),如果開發者證書驗證授權成功,則在證書上的小人頭像會顯示綠色小鈎。

8

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

9

3、在開發者后台查看開發證書,登陸Developer后台以后進入Certificates選項卡,分別在Development和Distribution選項卡中查看開發證書和發布證書。此時,證書的信息應該和在Xcode中一致。

10

四、回顧總結

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

11

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM