第 5 章 高级主题


本节涵盖超出入门教程范围但对真实 RPM 打包很有用的主题。

5.1. 签名 RPM 软件包

您可以签署 RPM 软件包,以确保没有第三方可以更改其内容。要添加额外的安全层,请在下载软件包时使用 HTTPS 协议。

您可以使用 rpm-sign 软件包提供的 --addsign 选项为软件包签名。

先决条件

5.1.1. 创建 GPG 密钥

使用以下步骤创建签名软件包所需的 GNU Privacy Guard (GPG)密钥。

流程

  1. 生成 GPG 密钥对:

    # gpg --gen-key
  2. 检查生成的密钥对:

    # gpg --list-keys
  3. 导出公钥:

    # gpg --export -a '<Key_name>' > RPM-GPG-KEY-pmanager

    将 <Key_name> 替换为您选择的实际密钥名称。

  4. 将导出的公钥导入到 RPM 数据库中:

    # rpm --import RPM-GPG-KEY-pmanager

5.1.2. 配置 RPM 为软件包签名

要能够签署 RPM 软件包,您需要指定 %_gpg_name RPM 宏。

以下流程描述了如何配置 RPM 以签名软件包。

流程

  • $HOME/.rpmmacros 文件中定义 %_gpg_name 宏,如下所示:

    %_gpg_name Key ID

    使用您要用来签署软件包的 GNU Privacy Guard (GPG)密钥 ID 替换 Key ID。有效的 GPG 密钥 ID 值是创建密钥的用户的完整名称或电子邮件地址。

5.1.3. 在 RPM 软件包中添加签名

最常见的情况是在没有签名的情况下构建软件包。签名仅在软件包发布前添加。

要在 RPM 软件包中添加签名,请使用 rpm-sign 软件包提供的 --addsign 选项。

流程

  • 在软件包中添加签名:

    $ rpm --addsign package-name.rpm

    使用您要签名的 RPM 软件包的名称替换 package-name

    注意

    您必须输入密码来解锁签名的 secret 密钥。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.