本作品采用知识共享署名 3.0 非移植许可协议授权。 http://creativecommons.org/licenses/by/3.0/legalcode
将 Anchor 验证功能分离以实现重用¶
https://blueprints.launchpad.net/anchor/+spec/anchor-separate-package
问题描述¶
目前,Anchor CSR 验证功能都位于 Anchor 包中。这阻止了其他项目轻松导入和使用验证功能。因此,应将验证功能拆分为 anchor 下的一个模块,以便其他项目可以导入它。这将为验证功能提供一个简单的 API,供 Anchor 和其他项目使用。
这将能够在其他项目中重用 CSR 验证功能,例如提议的 CA/RA Killick,或在 Barbican 中。
其次,执行 CSR 验证的代码在其中一个验证器失败时会中止 - 这对于 Anchor 来说效果很好,但可以通过运行所有验证器并返回一个字典来扩展验证引擎,从而为其他服务提供附加价值,给出运行的每个验证器的结果。
提议的变更¶
将 certificate_ops.py 中遍历验证器的代码分解到新的文件 ‘validation.py’ 中。扩展此功能以返回一个字典,给出验证器名称及其返回值,或者如果发生错误则抛出异常。
修改 certificate_ops.py 以使用新的 validation.py 和字典返回值,同时捕获任何抛出的异常。
修复测试以使用此新功能。
实现¶
doug-chivers
里程碑¶
- 完成目标里程碑
Kilo
工作项¶
1 - 将验证功能分解到新文件中 2 - 返回字典 3 - 修复测试以使其工作,确保 certificate_ops.py 仍然捕获验证器抛出的异常
依赖项¶
Anchor
参考资料¶
N/A