使用acme.sh申请ZeroSSL泛域名证书

安装acme.sh

acme.sh 实现了 acme 协议,可以帮助你快速申请SSL证书,自动更新证书等操作,极大简化操作步骤。在使用之前,我们需要先安装,以下命令均在Linux系统完成。

#安装acme.sh
curl https://get.acme.sh | sh

是的,只需要简单一行命令即可安装,安装完成后,可输入acme.sh -v查看当前版本。

root@racknerd-c7e8ee:~# acme.sh -v
https://github.com/acmesh-official/acme.sh
v3.0.6

将acme.sh server更改为ZeroSSL

acme.sh 2.x版本默认使用Let’s Encrypt作为服务提供商,我们可以通过以下命令,将其更换为ZeroSSL:

#更换默认服务商为ZeroSSL
acme.sh --set-default-ca  --server zerossl

配置DNS API

SSL证书验证可通过DNS验证、文件验证等多种方式,为了方便多个域名申请以及后续证书更新,推荐使用DNS API方式,不过在使用前需要先进行设置。

使用CloudFlare:

export CF_Key="<key>"
export CF_Email="<youremail@example.com>"

Key申请 :https://dash.cloudflare.com/profile

如果使用的DNSPOD(国内版),命令为:

export DP_Id="1234"
export DP_Key="sADDsdasdgdsf"

密钥可通过:https://console.dnspod.cn/account/token/apikey 获取。


如果使用的华为云解析(国内版),命令为:

export HUAWEICLOUD_Username=<Your Username> # Usually hwxxxxxx
export HUAWEICLOUD_Password=<Your Password>
export HUAWEICLOUD_ProjectID=<A Project ID> 
  • HUAWEICLOUD_Username:华为云用户名
  • HUAWEICLOUD_Password:华为云密码
  • HUAWEICLOUD_ProjectID:可通过我的凭据获取

acme.sh支持多个DNS服务商,这里不在一一列举,可通过官方文档:https://github.com/acmesh-official/acme.sh/wiki/dnsapi进行查看设置

ZeroSSL使用说明

申请证书之前,建议先在ZeroSSL官方网站:https://zerossl.com/注册账号,方便与acme.sh申请的证书进行绑定于关联。

img
img

另外注意,如果您通过ZeroSSL官网在线申请SSL证书,免费账户是有3个域的额度限制的,但通过acme.sh申请则没有这个限制,所以建议使用acme.sh进行申请,简单方便。

acme.sh申请ZeroSSL泛域名SSL证书

首次使用需要先注册ZeroSSL账户(参考上一步),如果已经注册,下面的命令会自动关联账户,命令如下(myemail@example.com改成你自己的ZeroSSL邮箱,不要乱填):

acme.sh  --register-account  -m myemail@example.com --server zerossl

xiaoz.me域名为例,该域名使用华为云解析,我已经在上一个步骤中设置好华为云解析DNS API,现在可以输入命令直接申请:

#申请ZeroSSL泛域名SSL证书
acme.sh --dns dns_cf --issue -d xiaoz.me -d *.xiaoz.me

如果申请过程中没有报错,就可以将SSL证书拷贝到任何想要的位置进行使用,命令如下:

acme.sh  --installcert  -d  xiaoz.me   \
        --key-file   /data/ssl/xiaoz.me.key \
        --fullchain-file /data/ssl/xiaoz.me.crt

上述命令将xiaoz.me SSL证书导出到了/data/ssl目录。

https://www.xiaoz.me/archives/16056