跳转到内容

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 并提供支持的原因。任意错误并不能证明权威缺失。