跳转到内容

Python 首次准入和历史信任

Python AdmissionService 在六阶段 Signed Document 验证器 (MWP-ADM-005) 之上对首次准入和历史信任进行身份验证。与语言无关的流程见本地首次准入和历史信任运行时页面,确切要求见本地首次准入和历史信任条款。

公开 API 责任
AdmissionCurrentKeyResolver.resolve_current 返回完整的 Organization 范围 Registry 证据,表明部署断言对于新的首次准入决策是当前有效的。
TrustedAdmissionContext.issue 颁发可信记录ID,可信接受即时,只有在权威缺席后才接受服务。
AdmissionLog.lookup 返回带有经过验证的字节的 AdmissionLookupStatus.FOUND 或 AdmissionLookupStatus.AUTHORITATIVE_ABSENCE。传输失败、缓存未命中、不确定状态和未经身份验证的缺席失败在 MWP-ADM-003 下关闭。
AdmissionLog.append_or_return_existing 原子地附加候选字节或返回并发权威获胜者。
AuthenticatedAdmissionRecord 将返回的记录字节绑定到由适配器验证的接受服务身份,以进行 MWP-ADM-009 验证。
AdmissionService.prepare_first_admission 从已验证的文档和可信上下文中创建并验证候选字节。它并不附加或暗示承认。
AdmissionService.admit_first 在 MWP-ADM-006 中实现当前证据、权威缺席、原子追加和返回记录流程。
AdmissionService.verify_historical_admission 根据 MWP-ADM-008 的要求,使用历史 Registry 证据重新运行验证,并要求找到不发布上下文或附加的记录。

适配器结果是类型化的证据。调用者提供的信任布尔值不是权威的查找结果,并且绝不能选择成功路径。

admit_first 在调用日志之前进行验证。当查找返回 AdmissionLookupStatus.AUTHORITATIVE_ABSENCE 时,它会调用 prepare_first_admission,调用 append_or_return_existing,然后验证实际返回的记录。仅当其字节、经过身份验证的服务、文档绑定和可信时间全部验证时(MWP-ADM-009、MWP-ADM-010),并发获胜者才是可接受的。

历史重放使用保留的 Registry 历史记录,需要找到的准入记录,并且从不调用 TrustedAdmissionContext.issue 或 AdmissionLog.append_or_return_existing。示例中匹配的记录 ID 表明重放恢复了第一条权威记录;它们本身并不证明 Command 新鲜度、签名者授权、状态机接受或便携式日志证明验证。 Command 新鲜度和签名者授权在 MWP-ADM-013 和 MWP-ADM-014 下仍然是单独的要求。

加密后准入拒绝仍然受保护阶段 admission 和线路代码 AUTH_INVALID_SIGNATURE (MWP-ADM-012)。