11.4. 安装和使用 Cosign


使用以下步骤直接安装 Cosign。

先决条件

  • 已安装 Go 版本 1.16 或更高版本。
  • 您已在 config.yaml 文件中将 FEATURE_GENERAL_OCI_SUPPORT 设置为 true

流程

  1. 输入以下命令 直接安装 Cosign :

    $ go install github.com/sigstore/cosign/cmd/cosign@v1.0.0

    输出示例

    go: downloading github.com/sigstore/cosign v1.0.0
    go: downloading github.com/peterbourgon/ff/v3 v3.1.0

  2. 输入以下命令为 Cosign 生成键值对:

    $ cosign generate-key-pair

    输出示例

    Enter password for private key:
    Enter again:
    Private key written to cosign.key
    Public key written to cosign.pub

  3. 输入以下命令为键值对签名:

    $ cosign sign -key cosign.key quay.io/user1/busybox:test

    输出示例

    Enter password for private key:
    Pushing signature to: quay-server.example.com/user1/busybox:sha256-ff13b8f6f289b92ec2913fa57c5dd0a874c3a7f8f149aabee50e3d01546473e3.sig

    如果您遇到 error: signing quay-server.example.com/user1/busybox:test: get remote image: GET https://quay-server.example.com/v2/user1/busybox/manifests/test: UNAUTHORIZED: 访问所请求的资源没有授权;映射[] 错误,因为 Cosign 依赖于 ~./docker/config.json 进行授权,您可能需要执行以下命令:

    $ podman login --authfile ~/.docker/config.json quay.io

    输出示例

    Username:
    Password:
    Login Succeeded!

  4. 输入以下命令查看更新的授权配置:

    $ cat ~/.docker/config.json
    {
    	"auths": {
    		"quay-server.example.com": {
    			"auth": "cXVheWFkbWluOnBhc3N3b3Jk"
    		}
    	}
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.