Appearance
acme account —— ACME 账户
示例邮箱统一使用 mail@example.com,运行命令或使用配置前请替换为实际业务邮箱。
ACME 账户是 ACME 协议下的身份凭证,由账户私钥与 ACME Server 上的注册记录组成。CertiMan 将账户保存在本机 ~/.certiman/acme/accounts/<账户目录名>/,目录名采用 <CA 主标签>-<序号> 形式(如 acme-1),可通过 acme account list 查看。账户身份由 CA 目录 URL、联系邮箱与 EAB KID 共同确定:同一 CA 使用不同邮箱或不同 EAB KID 注册时,生成相互独立的账户。
acme account register
注册 ACME 账户。运行模式:
- 无参运行
certiman acme account register→ 进入交互向导,按服务器 → 账户私钥 → EAB → 邮箱的顺序逐项询问;同一服务器已有账户时,可复用该账户、仅修改联系邮箱,或使用其他 EAB 凭据注册新账户 - 带参运行 → 命令模式,CLI 不进行任何交互询问;
--server与--email必填,缺少时直接报错
用法
bash
certiman acme account register [flags]参数
| flag | 短名 | 类型 | 默认 | 说明 |
|---|---|---|---|---|
--server | string | ACME Directory URL;命令模式必填,取值为完整地址,不是别名 | ||
--email | -m | string | 账户联系邮箱;命令模式必填 | |
--eab-kid | string | EAB 密钥 ID;CA 要求 EAB 时必填,需与 --eab-hmac-key 同时提供 | ||
--eab-hmac-key | string | EAB HMAC 密钥(base64url 编码);属于敏感参数,命令行取值可能被 shell 历史记录,建议通过向导输入 | ||
--accept-tos | bool | false | 接受该 CA 当前的服务条款,仅对本次注册生效;CA 声明服务条款且未提供本项时,注册被拒绝并输出条款地址 |
示例
bash
# 交互向导:逐项询问服务器、EAB 与邮箱
certiman acme account register
# 命令模式:CA 要求 EAB 时注册(含服务条款确认)
certiman acme account register \
--server https://acme.example.com/acme/v2/directory \
--eab-kid eab-9f3k2d --eab-hmac-key c2VjcmV0LW1hYy1rZXk \
-m 'mail@example.com' --accept-tos
# CA 不要求 EAB 时:仅提供服务器与邮箱
certiman acme account register \
--server https://acme.example.com/acme/v2/directory \
-m 'mail@example.com' --accept-tos示例地址
本文示例中的 https://acme.example.com/acme/v2/directory 仅为示例地址,以 CA 实际提供的 Directory URL 为准。
输出
注册完成后提示 ✔ ACME 账户可用于签发:<账户目录名>,账户文件保存在 ~/.certiman/acme/accounts/<账户目录名>/,包含 account.json(账户配置)与 account.key(账户私钥,权限 0600)。-o json 输出账户标识、目录路径、公钥指纹、CA 账户 URL 与状态。
acme account list
列出本机保存的 ACME 账户,包含账户目录名、CA 目录 URL、联系邮箱、EAB KID、状态与被证书引用数。acme issue 的 --account 参数使用本命令输出中的账户目录名。
用法
bash
certiman acme account list参数
本命令没有自有参数。
示例
bash
# 表格输出
certiman acme account list
# 脚本环境输出 JSON
certiman acme account list -o json输出
-o json 每条记录包含 name、account_dir、directory_url、key_file、key_fingerprint、email、eab_kid、ca_account_url、status 等字段。
acme account deactivate
停用 ACME 账户:向 CA 发送账户停用请求,停用后该账户无法用于申请或续期证书。本地账户材料与证书文件保留,证书的自动续期设置保持原值;仍被自动续期证书引用的账户需要 -f 确认。
用法
bash
certiman acme account deactivate [flags]参数
| flag | 类型 | 默认 | 说明 |
|---|---|---|---|
--account | string | 要停用的 ACME 账户目录名,必填;取值见 acme account list |
TTY 环境下需要交互确认,非交互环境必须提供 -f。
示例
bash
# 交互确认后停用账户
certiman acme account deactivate --account acme-1
# 自动化环境:跳过交互确认
certiman acme account deactivate --account acme-1 -f输出
账户已处于停用状态时,命令幂等成功并输出无变更提示。停用后仍需使用同一 CA 签发证书时,重新运行 acme account register 注册新账户;自动续期证书引用已停用账户时,certiman cron status 将其列入待人工处理项,通过 acme issue -d <主域名> --account <新账户> -f 更换账户。
多账户场景
本机存在多个 ACME 账户时,按以下流程处理:
- 运行
certiman acme account list,查看账户目录名、CA 目录 URL、联系邮箱、EAB KID 与状态 - 使用已有账户申请证书:在
acme issue中通过--account <账户目录名>显式指定,例如certiman acme issue -d example.com --account acme-1 --dcv-hook <脚本>;复用已注册账户时无需再提供 EAB 与服务条款参数 - 注册新账户:运行
certiman acme account register进入交互向导(可选择「使用其他 EAB 凭据注册 ACME 账户」),或在命令模式中以不同的邮箱 / EAB KID 注册
--account <账户目录名> 仅 acme issue 与 acme account deactivate 支持,用于在多个账户中显式选择;acme account register 不支持该参数,注册时的账户身份由 --server / --email / --eab-kid 确定。
相关命令
acme issue—— 使用已注册账户申请证书- ACME 快速上手 —— 完整的注册与申请流程
