PEP 464 – 移除 PyPI 镜像真实性 API
- 作者:
- Donald Stufft <donald at stufft.io>
- BDFL 委托:
- Richard Jones <richard at python.org>
- 讨论至:
- Distutils-SIG 邮件列表
- 状态:
- 最终版
- 类型:
- 流程
- 主题:
- 打包
- 创建日期:
- 2014 年 3 月 2 日
- 发布历史:
- 2014 年 3 月 4 日
- 取代:
- 381
- 决议:
- Distutils-SIG 消息
摘要
本 PEP 提议弃用和移除 PyPI 镜像真实性 API,这包括 /serverkey URL 和 /serversig 下的所有 URL。
基本原理
PyPI 镜像基础设施(在PEP 381中定义)提供了一种镜像自动安装程序所使用的 PyPI 内容的方法,作为其组成部分,它提供了一种验证镜像内容真实性的方法。
本 PEP 提议移除此 API,原因如下:
- 目前没有已知实现使用此 API,这包括 pip 和 setuptools。
- 由于此 API 使用 DSA,如果随机数存在任何偏差,它就容易泄露私钥。
- 此 API 解决了信任问题的一小部分,然而问题本身要大得多,最好有一个功能完善的系统,例如更新框架。
由于其存在的问题和缺乏使用,本 PEP 认为它不提供任何实际好处来证明其额外复杂性是合理的。
弃用和移除计划
本 PEP 一旦获得批准,镜像真实性 API 将被视为已弃用,镜像代理和安装工具应停止访问它。
与其从当前代码库 (PyPI 1.0) 中实际移除它,不如用新的代码库 (PyPI 2.0) 替换 PyPI 1.0 的当前工作将简单地不实现此 API。这将导致在从 1.0 切换到 2.0 时“移除”该 API。
如果 PyPI 2.0 未在 2014 年 9 月 1 日之前部署以取代 PyPI 1.0,则本 PEP 将在 PyPI 1.0 代码库中实现(通过移除相关代码)。
安装程序无需更改,但是符合PEP 381的镜像客户端,例如 bandersnatch 和 pep381client 将需要更新,以不再尝试镜像 /serversig URL。
版权
本文档已置于公共领域。
来源:https://github.com/python/peps/blob/main/peps/pep-0464.rst