跳到內容

C++ 首次準入與歷史信任

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

公開 API 責任
AdmissionCurrentKeyResolver::resolve_current 返回完整的 Organization 範圍的 Registry 證據,表明部署斷言對於此決策是最新的。
TrustedAdmissionContext::issue 下發記錄ID,即時可信受理,權威不在場後才接受服務。
AdmissionLog::lookup 返回 AdmissionLookup::found 或 AdmissionLookup::authoritative_absence。快取未命中、逾時或未經身份驗證的缺失在 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 保留不可變的驗證和記錄證據; record_bytes 傳回已驗證記錄位元組的視圖。

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

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

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

六級故障依然存在 SignedDocumentVerificationError。準入階段故障有 AdmissionError 有線碼 AUTH_INVALID_SIGNATURE, 階段 admission,以及一個型別化的 AdmissionReason,依照MWP-ADM-012的要求。部署適配器拋出 AdmissionAdapterError;一般性的成功或可用性並不是經過驗證的證據。