Skip to content

Latest commit

 

History

History
178 lines (126 loc) · 3.62 KB

chapter7.md

File metadata and controls

178 lines (126 loc) · 3.62 KB

1:7.3.1 小节

安装 certbot-bot:

# 下载 certbot-auto 客户端 
$ wget https://dl.eff.org/certbot-auto

# 修改程序权限
$ chmod a+x ./certbot-auto

# 查看帮助
$ ./certbot-auto --help 

# 查看 Certbot 客户端版本
$ ./certbot-auto --version

2:7.3.2 小节

# 注册帐号
$ certbot-auto register --agree-tos

# 更改帐号邮箱地址
$ certbot-auto register --update-registration --email [email protected]

3:7.3.4 小节

# 使用非交互式操作
$ certbot-auto -n

# 测试证书
$ certbot-auto --test-cert 

# 模拟运行
$ certbot-auto --dry-run

# 运行 nginx 插件
$ certbot-auto run  --nginx 

4:7.3.5 小节

# apache 插件
$ certbot-auto run  --apache 

5:7.3.6 小节

# webroot 插件
$certbot-auto certonly --webroot \ 
   -w /usr/share/nginx/html -d www2.example.com \ 
   -w /usr/share/nginx/html -d www1.example.com \
   --rsa-key-size 2048 --dry-run

6:7.3.7 小节

# 默认使用 tls-sni 域名验证方式 
$ certbot-auto certonly --standalone -d www1.example.com  

# 使用 http 域名验证方式
$ certbot-auto certonly --standalone -d www1.example.com --preferred-challenges http

7:7.3.8 小节

# manual 插件
$ certbot-auto certonly  -d www4.example.com --manual --preferred-challenges dns

8:7.3.9 小节

更新证书:

$ certbot-auto certonly --standalone -d www4.example.com \
   --force-renewa --rsa-key-size 2048

扩展证书:

$ certbot-auto certonly --standalone --expand \
   -d www4.example.com -d www5.example.com  

9:7.3.10 小节

查看系统安装的证书:

$ certbot-auto certificates 

指定证书更新:

certbot-auto certonly --standalone --cert-name www4.example.com \
   -d www4.example.com -d www5.example.com  --expand --dry-run 

10:7.3.11 小节

撤销证书:

$ certbot-auto revoke --reason keycompromise \
   --cert-path /etc/letsencrypt/archive/www4.example.com/cert1.pem  

删除本地证书:

$ certbot delete --cert-name  www4.example.com

11:7.3.12 小节

# 扫描所有的证书文件,校验是否续期
$ certbot-auto renew 
 
# 扫描证书名是 www4.example.com 下的所有证书文件,校验是否续期
$ certbot-auto renew --cert-name www4.example.com 

# 校验某个证书是否续期
$ certbot-auto renew --cert-path /etc/letsencrypt/archive/www4.example.com/cert1.pem
$ certbot renew --post-hook "service nginx restart"

cron:

$ vim /etc/crontab 

$ 43 6 * * * certbot renew --post-hook "service nginx restart"

12: 7.3.13 小节

(1)基于 CSR 申请证书

# 生成密钥对和 CSR 文件 
$ openssl req  -new -sha256 -newkey rsa:2048 -nodes   \
  -subj '/CN=www6.example.com/O=Test, Inc./C=CN/ST=Beijing/L=Haidian' \
  -keyout www6.example.com_key.pem -out www6.example.com_csr.der 

# certbot 直接发送 CSR 文件给 Let's Encrypt
$ certbot-auto certonly --standalone \
   --preferred-challenges tls-sni-01 \
   --csr=www6.example.com_csr.der

(2)申请 ECDSA 证书

# 生成一个 ECC 密钥对
$ openssl ecparam -genkey -name secp384r1 -noout -out key.pem 

# 基于 ECC 密钥对生成 CSR 
$ openssl req -new -sha512 -nodes \
  -subj '/CN=www1.www.example.com/O=Test, Inc./C=CN/ST=Beijing/L=Haidian' \
  -key key.pem  -outform der -out www1.www.example.com_csr.der

# 使用 standalone 插件生成证书
$ certbot-auto certonly --standalone \
  --preferred-challenges tls-sni-01 \
  --csr=www1.www.example.com_csr.der