跳到內容

Rust 首次準入與歷史信任

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

公開 API 責任
AdmissionCurrentKeyResolver::resolve_current 返回完整的 Organization 範圍的 Registry 證據,表明部署斷言對於此決策是最新的。
TrustedAdmissionContext::issue 下发记录ID,即时可信受理,权威不在场后才接受服务。
AdmissionLog::lookup 返回 AdmissionLookup::Found 或 AdmissionLookup::AuthoritativeAbsence。缓存未命中、超时或未经身份验证的缺失在 MWP-ADM-003 下关闭失败。
AdmissionLog::append_or_return_existing 以原子方式追加候选字节或通过经过身份验证的服务身份返回并发权威获胜者。
AuthenticatedAdmissionRecord 將傳回的記錄位元組綁定到由日誌適配器驗證的服務身分 MWP-ADM-009。
AdmissionService::prepare_first_admission 從 SDK 產生的 VerifiedSignedDocument 建立並驗證候選證據;它不附加或暗示承認。
AdmissionService::admit_first 驗證目前證據、尋找、缺席後準備、追加或回傳現有證據,並驗證 MWP-ADM-006 下回傳的記錄。
AdmissionService::verify_historical_admission 使用歷史 Registry 證據重新運行驗證,並需要現有記錄,而不發布上下文或在 MWP-ADM-008 下附加。
PreparedFirstAdmission、AdmittedSignedDocument 保留不可變的驗證和記錄證據; FirstAdmissionRecord::bytes 傳回已驗證的位元組。

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

admit_first 在日誌訪問之前完成所有六個驗證階段。找到的記錄經過驗證並返回,無需發出可信上下文或附加。權威缺席後,服務發佈上下文,準備規範的候選字節,調用 append_or_return_existing,並驗證實際傳回的記錄。只有當架構、驗證、文件綁定和可信任時間同時符合 MWP-ADM-009 和 MWP-ADM-010 時,並發勝出者才會成功。

verify_historical_admission 用途 KeyResolver,重新運行所有六個階段,需要 AdmissionLookup::Found,並且從不打電話 TrustedAdmissionContext::issue 或者 AdmissionLog::append_or_return_existing。匹配的記錄ID恢復相同的權威記錄但不證明 Command MWP-ADM-013 下的新鮮度、簽署者授權、狀態機接受或便攜式日誌證明驗證 和MWP-ADM-014.

AdmissionOperationError 保留原來的六階段驗證失敗或 AdmissionError。準入失敗會暴露線路代碼 AUTH_INVALID_SIGNATURE, 保護階段 admission,以及一個型別化的 AdmissionReason,依照MWP-ADM-012的要求。適配器返回 AdmissionAdapterError;一般性的成功或可用性並不是經過驗證的證據。