6.8.3. 使用 PQC 使用 Sequoia PGP 签名 RPM 软件包


使用 Sequoia PGP 使用 PQC 算法签署 RPM 软件包,以确保任何第三方不能更改其内容。

post-quantum 加密(PQC)是一组算法,旨在通过量级计算机实现攻击,从而增强软件安全性。

RPM 软件包管理器使用 OpenPGP 标准为软件包签名。OpenPGPv6 引入了对混合密钥和证书的支持。它们将当前的加密算法与 PQC 算法相结合,防止单一故障点并在生成的签名中增加信任。

从版本 10.1 开始,RHEL 支持 RPMv6 签名。使用这个格式,您可以在软件包中添加多个 OpenPGP 签名,增加 RPM 级别的冗余。

您可以组合 RPMv4 和 RPMv6 签名来为软件包签名。有了这个功能,您可以使用不同的 RPM 版本来验证相同的签名。从 RHEL 10.1 开始,RPM 仅验证 RPMv6 签名(如果存在),并忽略 RPMv4 签名。如果软件包中没有 RPMv6 签名,RPM 将使用 RPMv4 签名。在以前的 RHEL 版本中,RPM 验证 RPMv4 签名并默认忽略 RPMv6。在 RHEL 9.7 及更新的版本中,您可以启用 RPMv6 签名支持。

6.8.3.1. 创建 PQC 密钥

要使用 post-quantum 加密(PQC)算法签署软件包,请首先创建一个带有 Sequoia PGP 的混合密钥对。

在生成 PQC 密钥时,您可以指定不同的 PQC 算法。例如,以下流程使用 ML-DSA-87-Ed448 算法。

流程

  1. 安装 Sequoia PGP 工具:

    # dnf install sequoia-sq
  2. 生成一个 OpenPGP 密钥对:

    $ sq key generate --own-key --expiration=never \ --cannot-authenticate --cannot-encrypt \ --email <vendor_email> --name "<vendor_name>" \ --cipher-suite mldsa87 --profile rfc9580

    <vendor_email > 和 & lt;vendor_name> 替换为提供 RPM 软件包的软件包的电子邮件和软件厂商的名称。

    这个命令生成一个主密钥和签名子密钥。

  3. 检查生成的密钥对:

    $ sq key list --cert-email <vendor_email>
     - <ml_dsa_fingerprint>
       - user IDs:
         - <vendor_email> (authenticated)
         - <vendor_name> (authenticated)
       - created 2025-10-03 14:36:44 UTC
       - usable for signing
       - @softkeys/<ml_dsa_fingerprint>: available, unlocked
    
       - <subkey_fingerprint>
         - created 2025-10-03 14:36:44 UTC
         - usable for signing
         - @softkeys/<subkey_fingerprint>: available, unlocked
  4. 导出 PQC OpenPGP 证书:

    $ sq cert export --cert-email '<vendor_email>' > RPM-PGP-KEY-VENDOR

后续步骤

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部