4. 安装与配置环境:安装 Cosign CLI、配置环境变量、验证安装
在开始使用 Sigstore 进行配置准入证据之前,必须正确安装 Cosign CLI 并配置好运行环境。Cosign 是 Sigstore 生态中最核心的客户端工具,负责签名、验证和存储操作。本章将指导你完成从下载安装到环境验证的全过程。
4.1 安装 Cosign CLI
Cosign 支持多平台安装,包括 Linux、macOS 和 Windows。根据你的操作系统选择以下一种方式:
| 操作系统 | 安装方式 | 命令 / 步骤 |
|---|---|---|
| Linux (amd64) | 二进制下载 | |
| macOS (Intel) | Homebrew | |
| macOS (Apple Silicon) | 二进制下载 | |
| Windows | 二进制下载 | |
版本选择建议: 建议始终使用最新稳定版本。你可以访问 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 到验证完成的完整流程,帮助你理解每一步的依赖关系:
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 两个文件时,说明你的环境已完全就绪,可以进入下一阶段的学习。