2021-06-02

不管是互聯(lián)網技術的發(fā)展,還是科學技術的進步,都進一步影響了我們對于智能設備的需求,尤其是智能手機部分。而智能手機的構成部分就是APP軟件了,那么大家對于iOS簽名?App 的發(fā)展和原理或多或少有一些了解嗎:

iOS 簽名機制挺復雜,各種證書,Provisioning Profile,entitlements,CertificateSigningRequest,p12,AppID,概念一堆,也很容易出錯,本文嘗試從原理出發(fā),一步步推出為什么會有這么多概念,希望能有助于理解 iOS App 簽名的原理和流程。

目的:先來看看蘋果的簽名機制是為了做什么。在 iOS 出來之前,在主流操作系統(tǒng)(Mac/Windows/Linux)上開發(fā)和運行軟件是不需要簽名的,軟件隨便從哪里下載都能運行,導致平臺對第三方軟件難以控制,盜版流行。蘋果希望解決這樣的問題,在 iOS 平臺對第三方 App 有絕對的控制權,一定要保證每一個安裝到 iOS 上的 App 都是經過蘋果官方允許的,怎樣保證呢?就是通過簽名機制

代碼簽名

在iOS出來之前,以前的主流操作系統(tǒng)(Mac/Windows)軟件隨便從哪里下載都能運行,系統(tǒng)安全存在隱患,盜版軟件、病毒入侵、靜默安裝等等。那么蘋果希望解決這樣的問題,要保證每一個安裝到 iOS 上的 APP 都是經過蘋果官方允許的,怎樣保證呢?就是通過代碼簽名。

如果要實現驗證,其實最簡單的方式:就是通過蘋果官方生成非對稱加密的一對公私鑰。在iOS的系統(tǒng)中內置一個公鑰,私鑰由蘋果后臺保存,我們傳APP到AppStore時,蘋果后臺用私鑰對APP數據進行簽名,iOS系統(tǒng)下載這個APP后,用公鑰驗證這個簽名,若簽名正確,這個APP肯定是由蘋果后臺認證的,并且沒有被修改過,也就達到了蘋果的需求:保證安裝的每一個APP都是經過蘋果官方允許的。

向簽名

蘋果需求

安裝包不需要上傳到App Store,可以直接安裝到手機上;

蘋果為了保證系統(tǒng)的安全性,又必須對安裝的APP有絕對的控制權:

① 經過蘋果允許才可以安裝;

② 不能被濫用導致非開發(fā)APP也能被安裝;

雙向簽名的原理

這里有兩個角色:一個是iOS系統(tǒng),還有一個就是Mac系統(tǒng),因為iOS的APP開發(fā)環(huán)境在Mac系統(tǒng)下,所以這個依賴關系成為了蘋果雙層簽名的基礎。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 摘要:數據流管理系統(tǒng)(DSMS)以有效的方式提供實時數據處理,但在數據質量(DQ)和性能之間總是存在權衡。我們?yōu)殛P...
    dsemlina閱讀 594評論 0 0
  • 今天咸魚成交了一雙很久在美國買的鞋子,聊聊使用咸魚的感覺。 以前很多人聊過咸魚網,一直沒有真正使用。由于搬家,很多...
    嘻哈樂隊閱讀 216評論 0 0
  • 什么叫感覺材料語言呢?就是他想到的一種語言,專門就來描述我們自己直接獲得的那些感覺,類似于視野里面有一片紅兮兮的東...
    我來自金星閱讀 193評論 0 3
  • 表情是什么,我認為表情就是表現出來的情緒。表情可以傳達很多信息。高興了當然就笑了,難過就哭了。兩者是相互影響密不可...
    Persistenc_6aea閱讀 129,837評論 2 7
  • 16宿命:用概率思維提高你的勝算 以前的我是風險厭惡者,不喜歡去冒險,但是人生放棄了冒險,也就放棄了無數的可能。 ...
    yichen大刀閱讀 8,087評論 0 4

友情鏈接更多精彩內容