
引言: Canonical 的 Rust 替换计划再添新成员
如果你关注 Ubuntu 动态,应该已经注意到 Canonical 一直在稳步推进一项重要工程——用 Rust 重写的系统组件逐步替换原有的 C 代码库。这一策略的目的非常明确:在保证功能完整性的前提下,提升整体安全性和性能。如今,这项计划的下一个目标已经锁定为 OpenPGP 实现层。

在即将发布的 Ubuntu 26.10 版本中,Sequoia PGP 将被预装。Canonical 的最终愿景是让它取代 GnuPG 成为默认的 OpenPGP 工具链,不过这一切换并非一蹴而就。
OpenPGP 是什么?

在深入讨论 Sequoia 之前,有必要先搞清楚 OpenPGP 标准的本质。它并不是一款具体工具,而是一套被广泛采纳的技术规范。
该规范最早源于 Phil Zimmermann 于 1991 年创建的原始 PGP 项目,如今由 IETF 负责维护。这份规范详细定义了软件应如何实现数据的加密、解密、签名和验证功能,确保任何遵循该标准的两个实现之间可以互操作。

在 Linux 平台上,GnuPG 长期以来一直是 OpenPGP 标准的主导实现。它使用 C 语言编写,实现了 RFC 4880 规范,并提供 gpg 和 gpgv 两条命令,涵盖从加密、密钥管理到独立签名验证的全部功能。
Sequoia PGP 的不同之处

Sequoia 项目诞生于 2017 年,由三位前 GnuPG 开发者发起。他们的出发点很直接:与其继续在 GnuPG 原有的代码库上打补丁,不如用 Rust 从零开始构建一个全新的 OpenPGP 实现。
设计理念差异

- Sequoia PGP 首先是一个供其他软件直接调用的库,而非独立的命令行工具。
- 在此基础上,
sq提供加密、解密、签名和密钥管理功能,sqv则专注签名验证。 - 这两个命令的定位分别对应 GnuPG 中的
gpg和gpgv。
标准遵循上的分歧

Sequoia 选择了紧跟最新规范——它实现了 RFC 9580(2024 年发布的 OpenPGP 标准修订版)。相比之下,GnuPG 依然沿着 RFC 4880 分支演进,走的是自己的扩展路线和 LibrePGP 规范,而非将 RFC 9580 作为首要标准采纳。
当前 Ubuntu 26.10 中的实际情况

Ubuntu 26.10 “Stonking Stingray” 已将 Sequoia PGP 纳入主仓库(可于 rust-sequoia-xx 目录下查看),作为默认安装的一部分。sq 和 sqv 命令均能正常工作。
两种实现并行共存

sq承担主要的加解密、签名和密钥管理操作。sqv负责签名验证。- 输入
gpg和gpgv时仍会路由到 GnuPG,两者目前并排运行。
如果未来 Canonical 决定将 Sequoia 设为默认,那么包括 gpg、gpgv 在内的相关命令都将自动切换到 Sequoia,正如之前 sudo-rs 过渡时所见到的那样。

距离成为默认还有一段路要走
Ubuntu 26.10 的发布说明以及官方公告都明确指出:Sequoia PGP 成为默认 OpenPGP 工具链是一个未来目标,而非当前已经完成的体验。
历史经验表明 Canonical 行事谨慎
coreutils的 Rust 替换从 2025 年启动,直到 26.10 才达到 100% 覆盖。sudo-rs在真正成为默认之前,曾经过多轮预演和充分展示。- 每一个组件都经历了多个发行周期的考验,才有资格替换用户日常依赖的工具。
Sequoia PGP 目前正处于这一漫长进程的最初阶段。进入主仓库只是第一个里程碑,它最终能否取代 GnuPG 成为默认,仍有待观察。
Canonical 尚未公布具体的默认切换时间表。鉴于他们在每一次 Rust 化过渡中都表现得极为审慎,面对 OpenPGP 这样基础且敏感的基础设施组件时,这种谨慎态度不太可能轻易改变。
关注微信号:智享开源 ,及时了解更新信息。
原文链接:https://feed.itsfoss.com/link/24361/17489445/ubuntu-sequoia-pgp-inclusion


扫码关注公众号:智享开源

还没有任何评论,你来说两句吧!