Ubuntu 12.04 LTS 提供了 OpenSSL 1.0.1e,但它禁用了 TLSv1.1 和 TLSv1.2。过去,由于客户端实现存在问题,因此这是一个互操作性决定。在 2014 年,这确实不合适,因为客户端有时间修复其缺陷。任何剩余的缺陷客户端都会惩罚大多数符合要求的客户端。
我想提供相同版本的 OpenSSL 1.0.1e,但我想提供 [当前] 禁用的协议。我知道我可以创建一个个人软件包存档(PPA),但我不清楚是否可以使用它来覆盖 Ubuntu 基础包。
(我也意识到静态链接的客户端不会从改进的包装中受益)。
如何为 Ubuntu 中的特定软件包提供覆盖?
答案1
是的,您可以在 PPA 中提供软件包,这些软件包将安装在标准 Ubuntu 软件包之上。但是,每当 Ubuntu 发布新版本时,您都必须花时间保持软件包的更新。您可能还想检查 Trusty 中的软件包是否也启用了此功能。如果 Trusty 中已启用此功能,那么当 2014 年 4 月发布 14.04 LTS 时,最好直接升级。如果尚未启用此功能,您可能需要与 Ubuntu 安全团队讨论如何启用此功能,方法是提交错误报告并订阅它。
您可以通过修复版本号来实现。例如,如果 Ubuntu 中的当前版本是1.0.1e-0ubuntu1
,那么您将需要1.0.1e-0ubuntu1.1~12.04.1
在 PPA 中指定用于构建的版本。附加 使其.1~12.04.1
高于当前 Ubuntu 版本,但低于下一个 Ubuntu 版本(这样,如果 Ubuntu 中有安全更新,它将优先)。部分12.04
指定它是为 12.04 构建的,最后.1
是您的构建号(以防您犯了错误并需要重建相同的包,您可以将其提升到.2
例如)。您还需要在文件中debian/changelog
为precise
12.04 指定适当的发布系列代码名称,但如果基于现有的 12.04 包进行构建,则在 12.04 上,应该已经默认设置了。