This page looks best with JavaScript enabled

https 证书自动更新

 ·  ☕ 2 min read

本文将介绍如何使用acme签发证书及自动renew。

acme.sh

项目地址
https://github.com/Neilpang/acme.sh.git

我的使用样例

官方支持的mode很多,我这里使用的是DNS mode。
首次使用下面的例子进行证书生成,之后acme会保存你的配置,并在crontab定期更新证书,更新之后会触发nginx force-reload,无需人工干预,让你的个人网站不回出现因为证书过期,二无法访问的问题。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
$ cat acme_zouhl.xyz.sh
#!/bin/sh

export Ali_Key=""
export Ali_Secret=""

/root/.acme.sh/acme.sh --issue \
    --dns dns_ali \
    -d *.zouhl.com -d zouhl.com \
    -d *.zouhl.xyz -d zouhl.xyz \
    --fullchain-file /opt/cert/zouhl.xyz/fullchain.pem \
    --key-file /opt/cert/zouhl.xyz/privkey.pem \
    --reloadcmd  "systemctl force-reload nginx.service" \
    --debug \
#    --force

证书信息查看

openssl x509部分命令
打印出证书的内容:
openssl x509 -in cert.pem -noout -text
打印出证书的系列号
openssl x509 -in cert.pem -noout -serial
打印出证书的拥有者名字
openssl x509 -in cert.pem -noout -subject
以RFC2253规定的格式打印出证书的拥有者名字
openssl x509 -in cert.pem -noout -subject -nameopt RFC2253
在支持UTF8的终端一行过打印出证书的拥有者名字
openssl x509 -in cert.pem -noout -subject -nameopt oneline -nameopt -escmsb
打印出证书的MD5特征参数
openssl x509 -in cert.pem -noout -fingerprint
打印出证书的SHA特征参数
openssl x509 -sha1 -in cert.pem -noout -fingerprint
把PEM格式的证书转化成DER格式
openssl x509 -in cert.pem -inform PEM -out cert.der -outform DER
把一个证书转化成CSR
openssl x509 -x509toreq -in cert.pem -out req.pem -signkey key.pem
给一个CSR进行处理,颁发字签名证书,增加CA扩展项
openssl x509 -req -in careq.pem -extfile openssl.cnf -extensions v3_ca -signkey key.pem -out cacert.pem
给一个CSR签名,增加用户证书扩展项
openssl x509 -req -in req.pem -extfile openssl.cnf -extensions v3_usr -CA cacert.pem -CAkey key.pem -CAcreateserial

查看csr文件细节:
openssl req -in my.csr -noout -text

Share on

tux
WRITTEN BY
tux
devops

What's on this Page