使用 acme.sh 自动签发 ZeroSSL 的 ECC 证书

使用 acme.sh 自动签发 ZeroSSL 的 ECC 证书

acme.sh 使用 ACME 协议自动申请 SSL 证书,项目地址:acme.sh

环境:CentOS 8

安装 acme.sh

先安装好 curl,然后:

1
curl https://get.acme.sh | sh

该安装脚本做了几件事:

  1. 把 acme.sh 安装到了 home 目录下:~/.acme.sh/
  2. 创建了一个 bash 的 alias, 方便使用: alias acme.sh=~/.acme.sh/acme.sh
  3. 创建了 cronjob,每天 0:00 点自动检测所有的证书,如果快过期了,则会自动更新证书。

如果因为网络问题,无法连接到 https://raw.githubusercontent.com 域名,则要手动更改安装脚本内容:

1
2
3
4
5
6
7
# 下载并保存脚本
curl https://get.acme.sh -o acme_install.sh
# 更改脚本内域名,使用代理加速
sed -i 's/raw/ghproxy.com\/https:\/\/raw/g' acme_install.sh
# 安装
chmod +x acme_install.sh
./acme_install.sh

注册 ZeroSSL 账号

acme.sh 默认使用 Let’s Encrypt 进行证书注册,本本章使用 ZeroSSL 进行注册,所以需要进行相关配置

官网注册:https://zerossl.com/

注册完成之后进入 Dashboard,选择右侧的 Developer 标签,生成 EAB Credentials 并记录下来。

将 acme.sh 的注册服务器改为 ZeroSSL

文档:https://github.com/acmesh-official/acme.sh/wiki/ZeroSSL.com-CA

运行,替换 eab-kideab-hmac-key 为上一步中生成的:

1
2
3
acme.sh --register-account --server zerossl \
--eab-kid xxxxxxxxxxxx \
--eab-hmac-key xxxxxxxxx

将其设置为默认 Server

1
acme.sh --set-default-ca --server zerossl

签发证书

本文章使用 DNS 验证的方法来验证域名,acme.sh 可以通过 DNS 提供商的 API 自动设置验证记录,具体用法详见文档:https://github.com/acmesh-official/acme.sh/wiki/dnsapi

1
2
3
4
acme.sh --issue \
--dns dns_dp \
-d morooi.cn -d \*.morooi.cn \
--keylength ec-256

其中:

  • --dns 指定 DNS 服务商,dns_dp 代表 DNSPod,还有 dns_cf 代表 CloudFlare,更多的字段见 https://github.com/acmesh-official/acme.sh/tree/master/dnsapi
    如果不使用 API 自动添加验证,则不用添加后续参数,如:acme.sh --issue --dns -d morooi.cn ....
  • -d \*.morooi.cn 表示签发泛域名证书,\* 为转义(本人使用 zsh shell,实测需要转义,bash 貌似并不需要加反斜线
  • --keylength ec-256 表示签发 ECC 证书,不添加则签发 RSA 证书,可选参数还有 ec-384ec-521

安装证书

使用 --install-cert 命令安装证书到指定目录,切记不要手动去复制签发的证书文件,会影响后续使用

1
2
3
4
acme.sh --install-cert -d morooi.cn --ecc \
--key-file "/ssl/_.morooi.cn.key" \
--fullchain-file "/ssl/_.morooi.cn.crt" \
--reloadcmd "nginx -s reload"

其中:

  • --ecc 表示安装 ECC 证书
  • --key-file-fullchain-file 后接想要安装到的目录及证书名
  • --reloadcmd 后接服务的重启命令,程序自动续期证书后会运行该命令使其生效

大功告成!

更多信息可参考如下:

使用 acme.sh 自动签发 ZeroSSL 的 ECC 证书

https://morooi.cn/2021/acme-sh/

作者

SJ Zhou

发布于

2021-01-05

更新于

2021-01-20

许可协议

评论