macOS 的 App 程式碼簽署程序
所有來自 App Store 的 App 皆已經過 Apple 簽署。此簽署的設計可確保這些 App 未曾遭竄改或更動。Apple 會簽署 Apple 裝置隨附的所有 App。
在 macOS 10.15 中,所有在 App Store 外部發佈的所有 App,都必須由開發者使用 Apple 核發的開發者 ID 憑證(結合專用密鑰)來簽署,且需由 Apple 公證,才能在預設「門禁」設定下執行。企業內部開發的 App 也必須使用 Apple 核發的 開發者 ID 簽署,以便讓使用者驗證其完整性。
在 macOS 中,基於不同目標,程式碼簽署和公證作業獨立進行,且可由不同執行者執行。開發者需使用自己的開發者 ID 憑證(Apple 所核發)來執行程式碼簽章。驗證此簽章可向使用者證明開發者的軟體未經竄改,因為是由開發者建置並簽署。公證可由軟體分銷鏈中的任何人執行,證明已提供檢查惡意軟體的程式碼拷貝給 Apple,且沒有發現任何已知惡意軟體。公證的輸出為票證,會儲存在 Apple 伺服器上,且可選擇附加至 App(任何人均可執行此操作),此過程並不會使開發者的簽署失效。
「強制存取權限控制」(MAC)需要程式碼簽署才能啟用受到系統保護的授權。例如,要求穿越防火牆權限的 App,必須以適當的 MAC 授權簽署程式碼。
感謝您的寶貴意見。