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 授權進行程式碼簽署。
感謝您提供意見。