8.4. 使用公钥验证 sigstore 镜像签名


您可以使用以下步骤验证容器镜像是否已正确签名。

先决条件

  • container-tools 元数据包已安装。

流程

  1. /etc/containers/registries.d/default.yaml 文件中添加以下内容:

    docker:
        <registry>:
            use-sigstore-attachments: true

    通过设置 use-sigstore-attachments 选项,Podman 和 Skopeo 可以借助镜像读取和写入容器 sigstore 签名,并将它们保存在与签名镜像相同的存储库中。

    注意

    您可以在 /etc/containers/registries.d/default.yaml 文件中编辑系统范围的注册中心配置。您还可以编辑 /etc/containers/registries.d 目录中任何 YAML 文件中的注册中心或存储库配置部分。所有 YAML 文件都是读取的,文件名可以是任意的。单个范围 (default-docker、注册中心或命名空间) 只能存在于 /etc/containers/registries.d 目录中的一个文件中。

  2. 编辑 /etc/containers/policy.json 文件以强制 sigstore 签名存在:

    ...
    "transports": {
                "docker": {
                    "<registry>/<namespace>": [
                        {
                            "type": "sigstoreSigned",
                            "keyPath": "/some/path/to/cosign.pub"
                        }
                    ]
                }
            }
    ...

    通过修改 /etc/containers/policy.json 配置文件,您可以更改信任策略配置。Podman、Buildah 和 Skopeo 强制执行容器镜像签名的存在。

  3. 拉取镜像:

    $ podman pull <registry>/<namespace>/<image>

podman pull 命令会根据配置强制实施签名存在,不需要额外的选项。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部