工程指南

Developer ID G2 憑證怎麼遷移?2026 Mac 簽署驗收

Developer ID G2 憑證怎麼遷移?2026 Mac 簽署驗收

Apple 於 2026 年 10 月 1 日公告,舊 Developer ID Certification Authority 將於 2027 年 2 月 1 日到期;Apple 到期公告指出的期限,代表應先核對憑證簽發機構,再分別處理 Mac 應用程式與 .pkg,不能把兩種交付物一概要求重簽。

症狀:簽署流程仍沿用舊 Developer ID 身分,卻不確定哪些發行檔會受影響。
最快解法:先確認簽發者;受舊機構影響的憑證應換成 G2,並在期限前重簽受影響的安裝包。帶安全時間戳且已公證的既有 Mac 應用程式,依 Apple 公告不必只因 Sub-CA 到期而全部重簽。

Mac 獨立開發者:透過 Developer ID 對 Mac App Store 以外渠道發行軟體,需要判斷應用程式簽署憑證是否受影響。
Mac 軟體發行團隊:交付 .pkg 安裝包,需要安排 G2 憑證替換、重簽與安裝驗收。
CI/CD 工程師:在 macOS 建置流程使用 Developer ID 憑證,需要更新鑰匙圈與簽署任務,並驗證發行鏈路。

最後更新於 2026 年 10 月 28 日;截止日期與影響範圍核實自 Apple 的到期公告、Developer ID 憑證替換指南及憑證說明。

先按交付物界定遷移範圍

這次變更的決策核心不是「所有 Developer ID 憑證是否都要立即更換」,而是目前使用的憑證是否由舊的 Developer ID Certification Authority 簽發,以及交付物是應用程式還是安裝包。

Apple 對受影響的 .pkg 有明確的期限要求:應在 2027 年 2 月 1 日前改用替代憑證重新簽署。至於已帶安全時間戳並完成公證的既有 Mac 軟體,Apple 表示可繼續運作;這並不等同於新版本可以繼續使用舊憑證,也不代表所有應用程式都已符合你的發行與支援要求。期限及差異應以Apple 的到期公告和Developer ID 憑證替換說明為準。

交付物或情況 遷移判斷 發行前驗收 風險評級
已帶安全時間戳並已公證的既有 Mac 應用程式 不應僅因舊 Sub-CA 到期就一律重簽;仍須確認實際憑證與發布方式 在目標 macOS 環境檢查簽署資訊及公證狀態 中:依具體簽署與公證狀態判斷
受舊機構簽發憑證簽署的 .pkg 在 2027 年 2 月 1 日前更換憑證並重簽 驗證套件簽署資訊,再以新產物測試安裝 高:有明確期限
新版應用程式或安裝包 使用替代的 G2 憑證完成簽署;按發布流程處理公證 分別驗收應用程式或安裝包,不以另一種產物的結果代替 中:須確認流水線沒有引用舊身分

Developer ID Application 用於簽署應用程式;Developer ID Installer 則用於簽署安裝套件。兩者的憑證用途不同,不能只看到團隊名稱相同,就認定已完成兩種產物的遷移。Apple 對 Developer ID 憑證類型的說明列出這些憑證的用途;在盤點時,請把應用程式簽署與 .pkg 簽署分開記錄。

獨立開發者:確認簽發者,不只看憑證名稱

怎麼判斷 Developer ID 憑證是否由舊 Sub-CA 簽發?

請在 Apple Developer 帳戶的憑證清單,以及簽署用 Mac 的「鑰匙圈存取」中檢查憑證詳細資訊,確認憑證類型、簽發者與有效狀態。重點是查看完整憑證資訊中的簽發機構,而非只看憑證名稱、帳戶團隊名稱或到期日;這些欄位本身不足以證明憑證鏈屬於哪個中間機構。

Apple 提供替換 Developer ID 憑證的操作說明,應依其列出的憑證資訊和流程核對。如果帳戶清單和建置機上的結果不一致,先暫停正式發行,確認建置機實際載入的憑證與對應私鑰,避免只在帳戶端建立新憑證、流水線卻繼續使用舊身分。

Developer ID G2 與舊憑證如何區分?

不要只憑「G2」字樣或顯示名稱作判斷。應核對憑證詳細資料中的簽發者,並確認簽署作業使用的憑證及私鑰與帳戶內替代憑證相符。Apple 的Developer ID 中間憑證說明可作為辨識憑證鏈的官方依據;若無法確認簽發者,先不要把該憑證標記為已遷移。

獨立開發者可將已辨識的憑證清單、憑證用途及實際發行檔案一併記錄。這樣在更新版本或重建安裝包時,才能追溯哪個產物由哪個身分簽署,而不是在期限前只憑一份過期提醒作判斷。

發行團隊:讓應用程式與安裝包各自通過驗收

換證後,應用程式與安裝包都要重新簽署嗎?

不一定。若既有 Mac 應用程式已帶安全時間戳且已公證,Apple 公告指出它可繼續運作;但受影響憑證簽署的 .pkg 必須在期限前換證重簽。新版本則應按新的簽署身分重新建立並驗收,不能把既有應用程式的例外解讀成 .pkg 也可不處理。

發行團隊應先盤點實際提供給使用者的檔案:應用程式本體、獨立安裝程式,或兩者都有。接著按產物類型分流:

Apple 的macOS 軟體公證指南說明公證在發行前流程中的位置;如簽署或公證檢查失敗,則依Apple 的常見公證問題排查文件確認錯誤,不要用「成功上傳」取代本機簽署和安裝驗收。

2027 年 2 月 1 日後,舊憑證簽署的 .pkg 還能安裝嗎?

不能把期限之後的舊 .pkg 當成已獲 Apple 保證可用的交付物。Apple 公告要求受影響的安裝包在該日期前以替代憑證重簽;因此,採購與發布決策應以完成換證、重簽及新套件驗收為準,而不是把「目前能安裝」當作期限後仍會正常工作的證明。

安裝驗收至少要使用正式發行時會交付的 .pkg,在目標使用環境確認簽署資訊與安裝結果;若產品還包含應用程式本體,也應獨立驗收該應用程式。若公司有不同的安裝方式或更新渠道,將各渠道產物列入同一份清單,避免只測試開發者手上的副本。

注意:憑證到期與憑證鏈切換不是同一個判斷。即使某張憑證顯示仍在有效期內,也要查明它的簽發機構及實際用途;Apple 公告中的例外亦有特定條件,不應延伸成所有舊簽署產物都無需處理。

CI/CD 工程師:先隔離試簽,再更換正式身分

macOS CI 簽名遷移最常漏掉的不是憑證申請,而是流水線仍引用舊的憑證名稱、舊鑰匙圈,或與憑證不相符的私鑰。若建置工作分散在多台 Mac,需逐台核對實際簽署環境;只更新一台建置機,不能證明所有發布任務都已切換。

建議依下列順序執行:

Apple 的程式碼簽署憑證技術說明可協助理解憑證及時間戳資訊。具體憑證安裝方式、簽署設定和憑據管理方式,仍須按 Apple 文件及團隊既有的安全政策核對;不能假設每種 CI 工具對鑰匙圈的處理方式相同。

團隊負責人:以責任、證據與風險評級安排切換

遷移負責人應將憑證盤點、替代憑證簽發、試簽、使用者側安裝驗收與正式切換分派給明確角色。若直到 2027 年 2 月 1 日才開始處理,留給修正憑證存取或安裝問題的時間會受限;應現在確認交付物及簽發者,再按實際風險安排發布批次。

以下清單可用來決定是否進入正式切換:

團隊角色 必須交付的證據 評級與切換判斷
獨立開發者 憑證簽發者核對紀錄、應用程式簽署與公證狀態 只有確認憑證和產物條件後,才判定既有應用程式是否無需重簽
Mac 軟體發行團隊 .pkg 新簽署資訊、安裝驗收結果及發行檔案清單 受影響安裝包尚未重簽或安裝測試未通過,評為高風險,不應正式發布
CI/CD 工程師 隔離試簽紀錄、流水線身分設定、正式任務驗收結果 若仍有任務引用舊身分,評為高風險;全部驗收通過後再切換
團隊負責人 責任分派、期限安排、失敗停止或回退條件 未定義誰核准產物與誰執行回退,不視為完成遷移

如果團隊缺少可用於簽署與驗收的 macOS 環境,現有 Linux 建置機無法代替需要 macOS 工具鏈的簽署檢查;自行購置 Mac 適合長期、固定且持續使用的團隊,但仍需自行維護設備、憑證和建置環境。若目前只需完成一輪憑證遷移、試簽或短期發行驗收,租用 ArmMacs 可避免為一次性工作先購置硬體;若工作長期高負載、需要實體介面,或必須自行掌控設備,則應評估自購方案。可先查看ArmMacs 的 Mac 方案,並參考Mac 支援資訊確認遠端環境是否符合簽署及驗收需求;切換前仍應以 Apple 官方文件核實憑證與交付物狀態。

ArmMacs 雲端 Mac

用 ArmMacs 實機完成憑證遷移與簽署驗收

租用獨享實體 Mac,在接近實際發佈環境的配置中試簽、建置並驗證應用程式與安裝套件。

選擇機型並訂購