与服务器一起的日子

  • mysql
  • linux
  • 高可用
  • nginx
与服务器一起的日子
冰冷的机器也熄不灭火热的心
  1. 首页
  2. 证书
  3. certbot
  4. 正文

使用certbot最简方式签发ecc证书

2022年2月13日 1305点热度 2人点赞 0条评论

背景

之前一直使用caddy作为博客服务器的软件,但是运行一段时间后,我发现caddy虽然申请证书简单,但是caddy 2软件很多地方都变了,不兼容1版本的配置文件,于是我又改回了nginx使用。但是证书还是需要自动续期的,于是我研究了一下网上各路大神与官方文档,大神们都是自己生成ecc私钥和csr文件去申请证书。我希望这次搞完证书可以使用certbot来自动续期证书,于是我参阅官方文档搞出了一个简易申请ecc证书的方式。

操作

首先,安装certbot

yum install certbot

第二步,按照certbot的申请rsa证书的方式来操作(我这里使用的是dns验证),但是末尾需要加两个参数

certbot --manual --preferred-challenges dns certonly -d blog.linplus.net --key-type ecdsa --elliptic-curve secp384r1

这里说明一下后面两个参数是按照官网文档 Configuration file 想到的,即然能在配置文件中使用,那么命令行是不是也支持呢,于是我进行了大胆的尝试,发现命令行也是支持的。上面的secp384r1申请的是ecc 384位大小的证书。对应也可以换成256位。

之后会进行一系列的确认,然后在 /etc/letsencrypt/live/blog.linplus.net/ 目录下生成对应的文件,引入nginx即可。

第三步,如何续期操作?

在生成pem证书的时候会在目录 /etc/letsencrypt/renewal 目录下同步生成更新证书的配置文件,一般格式为 <域名>.conf ,你会发现配置文件的最后三行就是对证书类型进行规定,是ecc 384位证书。

[renewalparams]
//忽略
key_type = ecdsa //ecc加密方式
elliptic_curve = secp384r1 //384位密钥
pref_challs = dns-01, //使用dns进行验证

我们有这个更新证书的配置即可继续操作certbot进行续期操作

/bin/certbot renew --quiet --no-self-upgrade --pre-hook "systemctl stop nginx" --post-hook "systemctl start nginx"

这里,renew参数是指更新;--no-self-upgrade参数是告知certbot本次操作跳过更新检查;--pre-hook 是更新证书之前需要先停止nginx服务;--post-hook 是无论证书是否更新成功,只要更新流程走完后,启动nginx

将上面的更新命令放入cronjob里面或者放入systemd的timer即可。

标签: cert certbot ecc nginx ssl证书 tls证书 证书
最后更新:2023年6月11日

jhin

这个人很懒,什么都没留下

点赞
< 上一篇

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

COPYRIGHT © 2024 与服务器一起的日子. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang