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,所以如果随机 nonce 中存在 *任何* 偏差,它都容易泄露私钥。
- 此 API 解决了一个信任问题的小角落,但是问题本身要大得多,并且最好有一个完整的系统,例如 更新框架,来代替。
由于它存在的问题以及缺乏使用,本 PEP 认为它没有提供任何实际的好处来证明额外的复杂性是合理的。
弃用和移除计划
在本 PEP 被接受后立即,镜像认证 API 将被视为已弃用,镜像代理和安装工具应停止访问它。
与其从当前代码库 (PyPI 1.0) 中实际移除它,不如在用新代码库 (PyPI 2.0) 替换 PyPI 1.0 的当前工作中,根本不实现此 API。这将导致在从 1.0 切换到 2.0 时,“移除”该 API。
如果到 2014 年 9 月 1 日 PyPI 2.0 尚未部署以取代 PyPI 1.0,那么本 PEP 将在 PyPI 1.0 代码库中实现(通过移除相关代码)。
安装程序不需要进行任何更改,但是符合 PEP 381 的镜像客户端,例如 bandersnatch 和 pep381client 需要更新,以不再尝试镜像 /serversig URL。
版权
本文件已置于公共领域。
来源:https://github.com/python/peps/blob/main/peps/pep-0464.rst
最后修改时间:2023-09-09 17:39:29 GMT