cnb-rs gpg-key list
cnb-rs gpg-key list [--keyword <text>]列出当前用户的 GPG 密钥。
选项
-k, --keyword <TEXT>: 搜索关键字
继承的全局选项:
--json: 以 JSON 格式输出--domain <DOMAIN>: 指定目标域名(默认:cnb.cool)
示例
bash
$ cnb-rs gpg-key list
ID KEY ID NAME EMAILS EXPIRES SUBKEYS
1972977292525350912 6A66666666666890 linux 1 - ubuntu user@example.com (✓) Never 4
2007872189998419968 C0F0F0F0F0F0F0F0 mac user@example.com (✓) 2027-02-01 (剩 259 天) 0
共 2 个 GPG key。提示:删除时用第一列 ID(CNB 内部主键),不是 KEY ID(GPG 公钥指纹)
# 搜索密钥
$ cnb-rs gpg-key list -k "Work"
# 未配置任何 key 时
$ cnb-rs gpg-key list
当前账号未配置 GPG key。运行 `cnb-rs gpg-key add <KEY_FILE>` 添加。
# JSON 格式输出(脚本友好)
$ cnb-rs gpg-key list --jsonEXPIRES 列规则
| 状态 | 文本格式 | 色彩 |
|---|---|---|
永不过期(CNB 用 0001-01-01 或 9999-12-31 哨兵值) | Never | 默认色 |
| 已过期 | YYYY-MM-DD (过期 N 天) | 红色 |
| 今天过期 | YYYY-MM-DD (今天过期) | 红色 |
| ≤ 30 天到期 | YYYY-MM-DD (剩 N 天) | 黄色 |
| > 30 天 | YYYY-MM-DD (剩 N 天) | 默认色 |
大写 Never + 色彩分级 + ANSI 剥离
大写 Never 对齐 gh gpg-key list。色彩分级让用户扫一眼就识别需要轮换的 key(CNB 通常建议提前 30 天准备新 key)。色彩通过 crossterm::Stylize 输出 ANSI 序列,cnb_tui::Table 内部 strip_ansi 正确计算列宽避免对齐崩坏。
为什么表格同时展示 ID 与 KEY ID
KEY ID(16 字符 hex)是 GPG 公钥指纹,人读友好但不能用于调 CNB API。ID 是 CNB 内部主键,是 gpg-key delete <KEY_ID> 位置参数实际需要的值。详见 父页面的 warning 段。