跳到內容

Go 首次準入與歷史信任

Go AdmissionService 在六階段 Signed Document 驗證器(MWP-ADM-005)之上分層首次準入和歷史信任。與語言無關的流程見本地首次準入和歷史信任運行時頁面,確切要求見本地首次準入和歷史信任條款。

公開 API 責任
AdmissionCurrentKeyResolver.ResolveCurrent 返回完整的 Organization 範圍的 Registry 證據,表明部署斷言對於此決策是最新的。
TrustedAdmissionContext.Issue 核發可信任記錄ID,即時受理,權威缺席後才接受服務。
AdmissionLog.Lookup 傳回找到的經過驗證的記錄或 AdmissionLookup{AuthoritativeAbsence: true}。快取未命中、逾時、未經身份驗證的缺席和不確定狀態在 MWP-ADM-003 下關閉失敗。
AdmissionLog.AppendOrReturnExisting 以原子方式追加候選位元組或透過經過驗證的服務身分返回並發權威獲勝者。
AuthenticatedAdmissionRecord 將 RecordBytes 綁定到適配器驗證的服務,以便 MWP-ADM-009 可以驗證傳回的記錄。
AdmissionService.PrepareFirstAdmission 從 SDK 產生的 VerifiedSignedDocument 建立並驗證候選證據。它並不附加或暗示承認。
AdmissionService.AdmitFirst 在 MWP-ADM-006 下執行當前驗證、權威查找、候選創建、原子附加或返回現有以及返回記錄驗證。
AdmissionService.VerifyHistoricalAdmission 根據 MWP-ADM-008 的要求,使用歷史 Registry 證據重新運行六階段驗證,並需要現有記錄而不發布上下文或附加。
AdmittedSignedDocument 傳回經過驗證和解析的記錄證據以及防禦性 RecordBytes() 副本。

呼叫者提供的信任布林值不是準入查找結果,絕不能選擇成功路徑。

AdmitFirst 在查閱日誌之前完成所有六個簽章文件階段。找到的記錄經過驗證並返回,無需發出可信上下文或附加。權威缺席後,服務發出可信任上下文,呼叫PrepareFirstAdmission,呼叫AppendOrReturnExisting,對回傳值進行快照,並驗證實際傳回的記錄。只有當其架構、經過驗證的服務、文件綁定和可信任時間通過 MWP-ADM-009 和 MWP-ADM-010 時,並發獲勝者才是可接受的。

歷史重播使用保留的 Registry 歷史記錄重新運行驗證,需要找到的記錄,並且從不呼叫 TrustedAdmissionContext.Issue 或 AdmissionLog.AppendOrReturnExisting。匹配的記錄ID表明恢復了相同的權威記錄;它們不證明 Command 新鮮度、簽署者授權、狀態機接受或便攜式日誌證明驗證。這些在 MWP-ADM-013 和 MWP-ADM-014 下保持獨立。

AdmissionError.WireCode() 回傳 AUTH_INVALID_SIGNATURE,而 ProtectedDiagnostic().Stage() 回傳 admission。穩定的受保護原因可區分缺失、衝突、畸形、未經驗證、不可用、不確定和自錨證據,同時保留 MWP-ADM-012 所需的非神諭線結果。

當部署適配器需要服務重新映射可信任本地故障時,應傳回 NewAdmissionAdapterError 並提供支援的原因。任意錯誤並不能證明權威缺失。