大家好,在下犬戎。以下是我在 WebAuthn 项目中的8月工作月报。 项目基本信息
* 项目名称:跨平台 WebAuthn 密钥管理器 * 项目导师:党凡 [email protected]<mailto:[email protected]> * 项目要求:基于 nfcim/fido2 仓库,补充注册和验证流程的完整功能,并使用 Flutter 框架开发一个跨平台 WebAuthn 密钥管理器。 项目完成情况 以下是本月主要的成果。 fido2 Dart 库方面: * WebAuthn 服务端实现: * 从零构建了无状态的 Fido2Server 类,实现完整的注册和断言流程 * 支持选项生成、clientData/authenticatorData 解析、rpIdHash/flags/signCount 检查和签名验证 * 实现结构化的验证结果返回,提供清晰的错误信息和状态反馈 * 编写了全面的测试用例,包括合成测试数据和 webauthn.io 实际样本 * COSE 密码学扩展: * 新增 OKP/EC2 常量定义和 toCborMap 方法支持; * 实现 EdDSA (Ed25519) 和 ES256 签名验证器,包含严格的 DER 解析和 low-S 规范化; * 更新 asn1lib、crypto、pointycastle 等相关依赖包。 * API 架构重构与代码质量提升: * 拆分公共 API:fido2_client.dart(CTAP 客户端)和 fido2_server.dart(服务端); * 迁移到了基于 json_serializable 的 toJson 和 mixin toString 实现; * 配置 GitHub workflow CI 进行 dart run build_runner build 检查。 跨平台 WebAuthn 密钥管理器方面: * 核心功能实现: * 实现了完整的 Credential Manager 页面,支持凭证的读取和管理 * 添加了凭证删除功能,提升用户体验 * 抽象了 AppLogger 日志系统,便于调试和问题排查 * 架构设计改进: * 重构了 ClientPin 和 CredentialManagement 的关系结构 * 优化了代码架构,将 main 拆分为 viewmodel、widget、page 等模块 后续计划 接下来最后一个月的主要任务: * fido2 库方面:完善错误处理机制,优化 API 文档,考虑向 cryptography 上游贡献代码; * 密钥管理器方面:完善用户界面设计,添加更多设备管理功能,进行全面的跨平台测试; * 项目收尾:编写完整的使用文档,准备项目演示和成果汇报。 犬戎 2025年9月1日 -- 您收到此邮件是因为您订阅了 Google 群组的“TUNA 主邮件列表”群组。 要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到[email protected]。 如需查看此讨论,请访问 https://groups.google.com/d/msgid/tuna-general/CO1PR01MB67288B8E8095090991C971FDC607A%40CO1PR01MB6728.prod.exchangelabs.com。
