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