生成用于在 Junos OS 上安全包签名的 OpenPGP 密钥

了解如何使用 OpenPGP 在 Junos OS 上进行安全包签名,以确保软件包的真实性和完整性。

OpenPGP 概述

OpenPGP 是一种广泛采用的加密标准,使用非对称加密技术来提供数据的机密性、完整性和不可否认性。您可以使用 OpenPGP 来确保安全添加客户包。此标准有助于对瞻博网络设备上安装或更新过程中涉及的软件或固件文件进行自签名和验证。

您必须设置包含 GNU Privacy Guard (GPG) 安装的签名机,以生成私有 OpenPGP 密钥并对任何软件包进行签名。

必须确保新创建的 OpenPGP 密钥的安全。有权访问私钥的任何人都可以对可在客户设备上运行的代码进行签名。

面向 OpenPGP 的 Veriexec 功能

Junos OS 上的 Veriexec 功能强制要求所有软件均由有效机构(通常是瞻博网络公司)签名。客户可以使用 OpenPGP(相当良好的隐私)对自己的软件包进行签名,以允许软件包在 Junos OS 上运行。

本节将逐步介绍如何使用 OpenPGP 进行 veriexec,包括密钥生成、在 Junos OS 设备上安装密钥、对清单进行签名,以及使用 OpenPGP 签名验证已签名的清单。

在生成 OpenPGP 密钥之前,请将 veriexec-openpgp.tgz 扩展 添加到 Junos OS。要添加扩展,请在 Junos OS 设备上执行命令 request system software add veriexec-openpgp.tgz 。此命令可确保 OpenPGP 集成所需的组件已安装并可供使用。

添加 veriexec-openpgp.tgz 扩展后,继续在签名者计算机中生成 OpenPGP 密钥。

生成 OpenPGP 密钥的步骤

要在 Junos OS 上设置安全包签名,请按照以下步骤操作:

  1. 生成 OpenPGP 密钥:
    1. 打开终端或命令提示符。
    2. 执行以下命令生成 RSA 密钥对:
      该命令与密钥对一起生成密钥 ID,稍后将用于验证。
  2. 在 签名机器上导出公钥和私钥:
    1. 执行以下命令以导出签名计算机上的公钥和私钥:

      保留导出的私钥文件,并将扩展名设置为 .sec.asc 机密。

    2. 将ACA72B4719FD2523替换为在步骤 1 中获取的密钥 ID。这些命令可生成公钥和私钥的 ASCII 武装版本。
  3. 在 Junos OS 上安装公钥:
    1. 将 公钥文件 (ACA72B4719FD2523.pub.asc) 复制到设备。
    2. 在设备上执行以下命令以安装公有密钥。
      此命令将公钥添加到 veriexec 使用的信任存储中。
  4. 标志清单:

    要对清单进行签名,您有两个选项,具体取决于您的要求。

    1. 选项 1:使用签名服务器:

      1. 创建或获取需要签名的清单文件。例如:清单。

      2. 执行以下命令为清单生成 OpenPGP 签名:

      3. 替换 server:port 为实际的签名服务器和端口。此命令使用 OpenPGP 对清单进行签名并生成签名文件。例如:manifest.asc。

    2. 选项 2:在签名机器上使用 GPG 执行自签名:

      1. 创建或获取需要签名的清单文件。例如:清单。

      2. 执行以下命令以使用 OpenPGP 对清单进行签名并生成签名文件。例如:manifest.asc

      3. 替换 server:port 为实际的签名服务器和端口。此命令使用 OpenPGP 对清单进行签名并生成签名文件。例如:manifest.asc

  5. 验证已签名的清单:
    1. 将 已签名的清单文件(例如:manifest 和 manifest.asc)复制到 Junos OS 设备。
    2. 在 Junos OS 设备上打开 Unix shell 或命令提示符。
    3. 执行以下命令以验证已签名的清单:

      将 /path/to/directory 替换为清单和关联文件所在的实际目录路径,将 /path/to/manifest 替换为清单文件的路径。Veriexec 将使用公钥和相应的签名自动验证清单(包)。

    通过执行这些步骤,您可以利用 veriexec-openpgp 软件包来控制 Junos OS 使用的签名密钥和信任锚点。 使用这些步骤为客户包提供额外的安全和自定义选项。