ios蘋果簽名機制發表時間:2022-09-16 15:45 為了確保系統的安全,所有iPhone上安裝的APP應用程序都必須得到蘋果的許可。要在iPhone上安裝App,必須從App Store下載。蘋果公司對APP有嚴格的審查程序,通過簽名機制,確保安裝在iOS設備上的所有APP都得到蘋果官方的許可。 ios蘋果簽名是蘋果為開發者提出的機制,開發者使用企業開發者賬號在APP上進行簽名后,APP可以免除上架AppStore并安裝在ios設備上。 在iOS出現之前,以前的主流操作系統( MAC/windows )軟件可以從任何地方下載運行。系統存在安全隱患,包括盜版軟件、病毒入侵、靜默安裝等。 蘋果要解決這種問題,必須保證安裝在iOS上的所有APP都得到蘋果官方的許可,但如何保證呢?通過ios蘋果簽名。
要實現驗證,最簡單的方法是通過蘋果公式生成一對非對稱加密的公鑰。iOS系統內置有公鑰,私鑰在蘋果后臺保存。當我們將App傳遞給AppStore時,在蘋果后臺使用私有密鑰將App數據簽名,在iOS設備下載了此App之后,用公鑰驗證此簽名,如果簽名是正確的話
如果我們iOS設備安裝App只是從AppStore這個入口,那么事情很簡單,數字簽名就可以了。
但實際上iOS安裝APP還有其他途徑。例如,對于開發者來說,真機調試是必要的。此外,蘋果還開放了企業內分發渠道,企業證書簽名的APP也需要順利安裝。
蘋果需要開放這些方式來安裝APP,那么就不能實現簡單的代碼簽名。 ios蘋果簽名機制,雙重簽名進程:
1、在Mac中生成密鑰對(公鑰Mac和私鑰Mac )。在“密鑰串”中的“從認證機構請求證書”中制作。私鑰以本機形式存在,并且公鑰包含在CertificateSigningRequest文件中。
2、將CSR文件上傳至蘋果服務器,蘋果服務器用私鑰Apple加密CSR的哈希值和生成證書(證書中包括公鑰Mac和私鑰Apple加密的哈希值) 。
3、在開發編譯階段,每次編譯結束時,Mac都會用私鑰Mac(p12文件)對App進行簽名,并將上一步獲得的證書打包到App中。此時,App包含上一步驟中生成的證書。證書包含用公鑰MAC及其私鑰Apple加密的哈希值。
4、在iPhone設備上安裝App時,首先用設備中內置的公鑰Apple對前面的哈希值進行解密來獲取證書,然后獲取公鑰Mac。如果解密成功,則該證書指示該證書是蘋果服務器發出的,隨后可獲得公鑰Mac以解密App分組的簽名。在這種情況下,由于該App用秘密密鑰Mac進行簽名。 上一篇蘋果ios簽名怎么簽?
|