eggsampler/acme

GitHub: eggsampler/acme

一个遵循 RFC8555 标准的 Go 语言 ACME v2 客户端库,用于自动化申请和管理 SSL/TLS 证书。

Stars: 98 | Forks: 25

# eggsampler/acme [![GoDoc](https://godoc.org/github.com/eggsampler/acme?status.svg)](https://godoc.org/github.com/eggsampler/acme) [![构建状态](https://static.pigsec.cn/wp-content/uploads/repos/cas/66/66a6ed0c24e7ec875c5f76383076fad1fd053acf661ba49a0c2f83c3dd7f689a.svg)](https://github.com/eggsampler/acme/actions) [![覆盖率状态](https://coveralls.io/repos/github/eggsampler/acme/badge.svg)](https://coveralls.io/github//eggsampler/acme) ## 关于 `eggsampler/acme` 是一个用于 [RFC8555](https://tools.ietf.org/html/rfc8555)(以前称为 ACME v2)的 Go 客户端库实现。该库可以与 [Let's Encrypt](https://letsencrypt.org/) Certificate Authority (CA) 配合使用,同时也支持其他兼容 ACME 的 CA,例如 [ZeroSSL](https://zerossl.com/)、[Google Trust Services](https://pki.goog/) 以及 https://acmeclients.com/certificate-authorities/ 上列出的其他 CA。 该库旨在提供一个无外部依赖的封装,覆盖暴露的目录 endpoint,并以易于使用的结构提供对象。 ## 环境要求 至少需要 Go 1.11 版本,因为本仓库设计为作为 Go module 导入。 ## 用法 只需将该 module 导入项目中, ``` import "github.com/eggsampler/acme/v3" ``` 请注意末尾的 `/v3` 主版本号。由于 module 的工作机制,这是 `go.mod` 文件中所表示的主版本号,也是最新的 git 仓库 [semver](https://semver.org/) 标签。 所有函数仍然使用 `acme` 包名进行导出和调用。 ## 示例 在 examples/certbot 目录中提供了一个简单的、类似 [certbot](https://certbot.eff.org/) 的示例。 此代码演示了账户注册、提交新订单、完成 challenge、完成订单以及获取已签发的证书链。 在 examples/autocert 中还提供了一个关于如何使用 autocert 包的示例。 ## 测试 测试可以针对 [boulder](https://github.com/letsencrypt/boulder) 或 [pebble](https://github.com/letsencrypt/pebble) 实例运行。 challenge 的完成旨在使用 boulder 和 pebble 中内置的新 `challtestsrv` 服务器,该服务器会根据需要响应 DNS 查询和 challenge。 要针对已经在运行的 boulder 或 pebble 实例运行测试,请使用 Makefile 中的 `test` 目标。 Makefile 中还包含了一些便捷目标,它们会使用各自的 docker compose 文件来启动 pebble/boulder。
标签:ACME, EVTX分析, Go, Ruby工具, SSL证书, 内核驱动, 加密, 客户端库, 日志审计, 漏洞扫描器, 网络协议, 请求拦截