Appearance
acme revoke —— 吊销证书
通过 ACME 协议向 CA 请求吊销证书,支持两类目标:
- 托管证书:吊销本机
~/.certiman/acme/certs/中的证书,通过-d/-c指定;吊销请求默认使用 ACME 账户私钥签名,--with-cert-key改用证书私钥签名,适用于账户不可用或 CA 要求证明私钥持有的场景 - 外部证书:吊销不由 CertiMan 托管的证书,通过
--cert-file+--private-key+--server指定;吊销请求使用证书私钥签名,不需要 ACME 账户,也不会更新本机托管证书的状态
吊销是不可逆操作。TTY 环境下需要交互确认,非交互环境必须提供 -f,否则拒绝执行。
用法
bash
certiman acme revoke [flags]参数
托管证书(-d / -c)与外部证书(--cert-file 等)两种方式互斥:
| flag | 短名 | 类型 | 默认 | 说明 |
|---|---|---|---|---|
--domain | -d | []string | 选择器:按主域名指定托管证书 | |
--conf | -c | string | 选择器:证书配置文件路径 | |
--cert-file | string | 外部证书的叶证书文件路径;需与 --private-key、--server 同时提供 | ||
--private-key | string | 外部证书的私钥文件路径;必须与证书匹配,支持 RSA 与 ECDSA P-256 / P-384 | ||
--server | string | 外部证书所属 CA 的 ACME Directory URL,取值为完整 HTTP(S) 地址 | ||
--reason | string | 0 | 吊销原因,取值为 RFC 5280 原因码或标准名称:unspecified(0) / keyCompromise(1) / cACompromise(2) / affiliationChanged(3) / superseded(4) / cessationOfOperation(5) / certificateHold(6) / removeFromCRL(8) / privilegeWithdrawn(9) / aACompromise(10) | |
--with-cert-key | bool | false | 托管证书吊销使用证书私钥签名;原因为 keyCompromise(1) 时建议使用。外部证书吊销始终使用证书私钥签名,无需指定本项 |
示例
bash
# 托管证书:交互确认后吊销(账户私钥签名)
certiman acme revoke -d example.com
# 私钥泄露:以证书私钥签名并标注原因
certiman acme revoke -d example.com --reason keyCompromise --with-cert-key
# 自动化环境:跳过交互确认
certiman acme revoke -d example.com -f
# 外部证书:无需 ACME 账户,以证书私钥签名吊销
certiman acme revoke \
--cert-file /etc/ssl/certs/example.com.pem \
--private-key /etc/ssl/private/example.com.key \
--server https://acme.example.com/acme/v2/directory \
--reason keyCompromise -f输出
证书已处于吊销状态时,命令幂等成功并输出无变更提示。开启自动续期的托管证书在吊销后仍会按窗口续期,是否续期只取决于有效期与续期窗口;无需续期时,在证书配置中关闭 renew.auto_cert。
相关命令
acme status—— 查看托管证书的吊销时间acme renew—— 续期证书与自动续期设置
