4. 安装与配置环境:安装 Cosign CLI、配置环境变量、验证安装

在开始使用 Sigstore 进行配置准入证据之前,必须正确安装 Cosign CLI 并配置好运行环境。Cosign 是 Sigstore 生态中最核心的客户端工具,负责签名、验证和存储操作。本章将指导你完成从下载安装到环境验证的全过程。

4.1 安装 Cosign CLI

Cosign 支持多平台安装,包括 Linux、macOS 和 Windows。根据你的操作系统选择以下一种方式:

操作系统 安装方式 命令 / 步骤
Linux (amd64) 二进制下载
curl -O https://github.com/sigstore/cosign/releases/latest/download/cosign-linux-amd64
sudo mv cosign-linux-amd64 /usr/local/bin/cosign
sudo chmod +x /usr/local/bin/cosign
macOS (Intel) Homebrew
brew install cosign
macOS (Apple Silicon) 二进制下载
curl -O https://github.com/sigstore/cosign/releases/latest/download/cosign-darwin-arm64
sudo mv cosign-darwin-arm64 /usr/local/bin/cosign
sudo chmod +x /usr/local/bin/cosign
Windows 二进制下载
# 使用 PowerShell 下载
Invoke-WebRequest -Uri "https://github.com/sigstore/cosign/releases/latest/download/cosign-windows-amd64.exe" -OutFile "cosign.exe"
# 将 cosign.exe 添加到 PATH 环境变量
版本选择建议: 建议始终使用最新稳定版本。你可以访问 GitHub Releases 页面 查看最新版本号。生产环境中建议锁定特定版本,避免因升级引入不兼容变更。

4.2 配置环境变量

安装完成后,需要配置以下关键环境变量,以确保 Cosign 能够正确与 Sigstore 基础设施通信:

  • COSIGN_PASSWORD:用于保护私钥的密码(如果使用密钥对模式)。
  • SIGSTORE_REKOR_URL:Rekor 透明日志的地址,默认值为 https://rekor.sigstore.dev。
  • SIGSTORE_OIDC_ISSUER:OIDC 身份提供者,默认值为 https://oauth2.sigstore.dev/auth。
  • COSIGN_EXPERIMENTAL:启用实验性功能(如密钥less 模式),建议设置为 1。

在 Linux/macOS 的 ~/.bashrc 或 ~/.zshrc 中添加以下内容:

# Cosign 环境变量配置
export COSIGN_PASSWORD="your-strong-password-here"
export SIGSTORE_REKOR_URL="https://rekor.sigstore.dev"
export SIGSTORE_OIDC_ISSUER="https://oauth2.sigstore.dev/auth"
export COSIGN_EXPERIMENTAL=1

执行 source ~/.bashrc 或 source ~/.zshrc 使配置生效。

安全提醒: 不要在脚本或配置文件中硬编码生产环境的 COSIGN_PASSWORD。建议使用密钥管理服务(如 HashiCorp Vault、AWS Secrets Manager)或环境变量注入工具(如 direnv)来管理敏感信息。

4.3 验证安装

完成安装和环境配置后,执行以下命令验证 Cosign 是否正常工作:

# 检查版本信息
cosign version

# 查看帮助文档
cosign help

# 测试签名流程(使用内置测试密钥)
cosign generate-key-pair

# 验证环境变量是否生效
echo $COSIGN_PASSWORD
echo $SIGSTORE_REKOR_URL

如果 cosign version 正确输出版本号、Git 提交和构建时间,则说明安装成功。以下是一个典型的输出示例:

  ______   ______        ______   ______   ______   ______
 /      \ /      \      /      \ /      \ /      \ /      \
|  C O  | |  S I  |    |  G N  | |  S T  | |  O R  | |  E   |
 \______/ \______/      \______/ \______/ \______/ \______/
cosign: 2.2.3
GitVersion:    v2.2.3
GitCommit:     abc123def456
BuildDate:     2024-01-15T10:30:00Z

4.4 安装验证流程图

下图展示了从下载 Cosign 到验证完成的完整流程,帮助你理解每一步的依赖关系:

Cosign 安装与验证流程图 下载 Cosign 二进制 赋予执行权限 配置环境变量 验证版本信息 测试签名流程 说明:环境变量配置必须在验证之前完成,否则 Cosign 无法正确连接 Sigstore 服务

4.5 常见问题排查

安装过程中可能遇到以下问题,请对照排查:

问题现象 可能原因 解决方案
cosign: command not found 二进制未添加到 PATH 检查 /usr/local/bin 是否存在 cosign 文件,或使用路径执行
permission denied 缺少执行权限 执行 chmod +x /usr/local/bin/cosign
Error: failed to connect to Rekor 环境变量未设置或网络不通 检查 SIGSTORE_REKOR_URL 是否正确,确认网络可访问
Error: password is required COSIGN_PASSWORD 未设置 设置环境变量 export COSIGN_PASSWORD="your-password"
验证成功标志: 当 cosign version 输出完整版本信息,且 cosign generate-key-pair 成功生成 cosign.key 和 cosign.pub 两个文件时,说明你的环境已完全就绪,可以进入下一阶段的学习。