iOS 基礎 證書介紹

2021-06-26 10:54:38 字數 2177 閱讀 3135

certificate

證書是用來給應用程式簽名的,只有經過簽名的應用程式才能保證他的**是可信任的,並且**是完整的, 未經修改的。在xcode build setting的code signing identity中,你可以設定用於為**簽名的證書。

眾所周知,我們申請乙個certificate之前,需要先申請乙個certificate signing request (csr) 檔案,而這個過程中實際上是生成了一對公鑰和私鑰,儲存在你mac的keychain中。**簽名正是使用這種基於非對稱秘鑰的加密方式,用私鑰進行簽名,用公鑰進行驗證。如下圖所示,在你mac的keychain的login中儲存著相關的公鑰和私鑰,而證書中包含了公鑰。你只能用私鑰來進行簽名,所以如果沒有了私鑰,就意味著你不能進行簽名了,所以就無法使用這個證書了,此時你只能revoke之前的證書再申請乙個。因此在申請完證書時,最好匯出並儲存好你的私鑰。當你想與其他人或其他裝置共享證書時,把私鑰傳給它就可以了。私鑰儲存在你的mac中,而蘋果生成的certificate中包含了公鑰。當你用自己的私鑰對**簽名後,蘋果就可以用證書中的公鑰來進行驗證,確保是你對**進行了簽名,而不是別人冒充你,同時也確保**的完整性等。

證書主要分為兩類:development和production,development證書用來開發和除錯應用程式production主要用來分發應用程式(根據證書種類有不同作用),下面是證書的分類資訊:(括號內為證書有效期)

production

有一些型別的證書我沒有使用過,所以也不了解具體的作用。

,以便能唯一標識乙個應用程式。下面是目前所有可選的服務和相應的配置要求。

device最簡單了,就是ios裝置。devices中包含了該賬戶中所有可用於開發和測試的裝置。 每台裝置使用udid來唯一標識。

每個賬戶中的裝置數量限制是100個。disable 一台裝置也不會增加名額,只能在membership year 開始的時候才能通過刪除裝置來增加名額

如上所述,在一台裝置上執行應用程式的過程如下:

與證書一樣,provisioning profile也分為development和distribution兩種:

(注:前面提到不同賬戶型別所能建立的證書種類不同,顯然profile檔案的種類是和你所能建立的證書種類相關的)

in house 與ad hoc的不同之處在於:in house沒有裝置數量限制,而ad hoc是用來測試用的,ad hoc的包只能執行在該賬戶內已登記的可用裝置上,顯然是有最多100個裝置的數量限制。所以這兩種provisioning profile檔案的區別就在於其中的裝置限制不一樣而已,而他們所使用的certificate是相同的。

了解了上面的概念,再來看開發及發布流程就非常簡單了,而且相信你不用看教程也能一步步完成所有的操作了。

開發/真機除錯流程

根據上面的介紹,可以知道進行development主要有以下幾個步驟:

事實上第三步通常是不需要的,因為我們通常都是用xcode生成和管理的ios team provisioning profile來進行開發,因為它非常方便,所以不需要自己手動生成provisioning profile。

發布流程

iOS簽名機制與證書介紹

純粹就是總結,很多地方跟參考資料一樣,就是自己手動打一遍,自己親自畫個圖增加理解和加強記憶力,而不只是複製貼上 ios 打包流程也不在此敘述,相信很多人已經對照過各種 並茂的文章一一操作過 即加密金鑰與解密金鑰不同,且成對出現 對外公開的稱為公鑰,這對金鑰生成者才擁有的稱為私鑰 通過私鑰加密的密文只...

iOS證書及相關介紹(ios自學筆記)

certificate 證書是用來給應用程式簽名的,只有經過簽名的應用程式才能保證他的 是可信任的,並且 是完整的,未經修改的。在xcode build setting的code signing identity中,你可以設定用於為 簽名的證書。眾所周知,我們申請乙個certificate之前,需要...

iOS證書的幾個方面組成介紹

先介紹下證書型別 很多剛開始接觸ios證書的開發者可能不是很了解ios證書的型別功能和概念。下面對ios證書的幾個方面進行介紹。ios證書的型別和作用 1 ios開發證書 2 ios發布證書 3 ios推送證書 ios推送證書是用於推送通知的,平時我們在手機的系統欄下拉看到的那些訊息就是推送通知,如...