DNSPOD使用ACME.SH签发Google ACME Public CA证书

DNSPOD使用ACME.SH签发Google ACME Public CA证书

Google近期新推出了免费的自动化的公共 CA 管理程序,也就是支持ACME协议的Google Trust Services 证书签发,既然如此那不嫖一个着实可惜

我之前有写过华为云的签发流程,其实DNSPOD也差不多

获取DNSPOD API/GCP证书访问权限

首先登录DNSPOD,进入控制台,点击右上角我的账号-API密钥-DNSPod Token,点击创建密钥即可,密钥建议保留一下方便以后再用

然后我们来申请一下GCP公共证书的访问权限,毕竟这玩意还是BETA阶段

我们首先需要一个Google账号,然后访问https://docs.google.com/forms/d/1Euhflb5CXpuLik8czElhyAloTZJZobar4086dmlPqXA填写表单申请内测

在填写完成后,大概半天左右就会给你发送一封邮件,大概长下面这样

图片[1]-DNSPOD使用ACME.SH签发Google ACME Public CA证书-Rain's Blog

这就是通知你成功加入内测了而已,看到这封邮件就代表你能用了

然后进入到https://console.cloud.google.com/apis/library/publicca.googleapis.com?project=

点击启用,转圈完了就行,启用后是这样的

图片[2]-DNSPOD使用ACME.SH签发Google ACME Public CA证书-Rain's Blog
然后再点击右上角的激活Cloud Shell
图片[3]-DNSPOD使用ACME.SH签发Google ACME Public CA证书-Rain's Blog

获取b64MacKey和keyId

再加载完成的Shell窗口执行命令

gcloud beta publicca external-account-keys create

执行后可能会提示授权权限,点击允许就行,执行完后会返回一个b64MacKey和keyId,像下面这样

图片[4]-DNSPOD使用ACME.SH签发Google ACME Public CA证书-Rain's Blog

获取证书

安装acme.sh

curl  https://get.acme.sh | sh -s email=my@example.com

重载环境变量

source .bashrc

向Google ACME API注册设备

acme.sh  --register-account  -m my@example.com --server google \
    --eab-kid keyId \
    --eab-hmac-key b64MacKey

增加DNSPOD API

export DP_Id="Id"
export DP_Key="Key"

申请证书(RSA)

acme.sh --dns dns_dp --issue -d example.com -d *.example.com --server google 

申请证书(ECC)

acme.sh --dns dns_dp --issue -d example.com -d *.example.com --server google -k ec-256

配置证书

安装证书(RSA)

acme.sh  --installcert  -d  example.com  \
        --key-file  /usr/local/nginx/cert/example.com/privkey.pem \
        --fullchain-file /usr/local/nginx/cert/example.com/fullchain.pem

安装证书(ECC)

acme.sh  --installcert  -d  example.com --ecc \
        --key-file  /usr/local/nginx/cert/example.com/privkey.pem \
        --fullchain-file /usr/local/nginx/cert/example.com/fullchain.pem

配置双证书(NGINX)

    ssl_certificate     /usr/local/nginx/cert/example.com/fullchain.pem;
    ssl_certificate_key    /usr/local/nginx/cert/example.com/privkey.pem;
    #ECC
    ssl_certificate    /usr/local/nginx/cert/example.com/ecc_fullchain.pem;
    ssl_certificate_key     /usr/local/nginx/cert/example.com/ecc_privkey.pem;
    ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
    ssl_ciphers   EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+ECDSA+AES128:EECDH+aRSA+AES128:RSA+AES128:EECDH+ECDSA+AES256:EECDH+aRSA+AES256:RSA+AES256:EECDH+ECDSA+3DES:EECDH+aRSA+3DES:RSA+3DES:!MD5;

最后重启NGINX即可

参考资料

© 版权声明
THE END
喜欢就支持一下吧
点赞0赞赏 分享
评论 抢沙发
头像
说点什么?
提交
头像

昵称

取消
昵称表情代码图片