+
Skip to content

peknight/acme

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ACME

Automated Certificate Management Environment (ACME) Protocol

想跑个https服务太难了,

我要起个acme.sh去定时申请更新证书,

还要起一个nginx加载证书然后反向代理自己的http服务(当然之前我菜,没研究明白怎么直接用证书起https服务)

我还得在证书快要过期的时候手动重启一下服务,要不然证书一过期服务就挂了(当然也可以写个cron脚本去重启)

我想在自己的一个应用里搞定这套流程,但是我还希望代码是函数式的。

所以我照着RFC8555规范和acme4j库手撸了一套基于http4s的函数式ACME客户端库。

太难了,为此我还手撸了一套函数式jose库,为了jose库手撸了一套函数式的加解密security库。

为了处理一些codec问题也对我的codec库做了大量改进。

整个ACME客户端协议我都成功实现完了,当然我自己用只用到Let's Encrypt作为证书提供商,Cloudflare作为完成DNS挑战的客户端。

对于其它类型的挑战我没有做实现,其它的提供商我也没有对接。

基于这个ACME客户端我终于实现了自动获取证书然后启动https服务并且在证书临期时自动获取新证书重启ebrl的功能,美滋滋。

About

基于http4s的ACME客户端,参考acme4j实现

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载