https://github.com/usual2970/certimate
# 🔒Certimate
做个人产品或在小企业负责运维的同学,需要管理多个域名,要给域名申请证书。但手动申请证书有以下缺点:

Certimate 就是为了解决上述问题而产生的,它具有以下特点:
Certimate 旨在为用户提供一个安全、简便的 SSL 证书管理解决方案。使用文档请访问[https://docs.certimate.me](https://docs.certimate.me)

## 一、安装
安装 Certimate 非常简单,你可以选择以下方式之一进行安装:
### 1. 二进制文件
你可以直接从[Releases 页](https://github.com/usual2970/certimate/releases)下载预先编译好的二进制文件,解压后执行:
bash</s><i> </i>./certimate serve<i> </i><e>
>
[!NOTE]
> MacOS 在执行二进制文件时会提示:无法打开“certimate”,因为Apple无法检查其是否包含恶意软件。可在系统设置> 隐私与安全性> 安全性 中点击 “仍然允许”,然后再次尝试执行二进制文件。
### 2. Docker 安装
```bash
git clone [email protected]:usual2970/certimate.git && cd certimate/docker && docker compose up -d
```
### 3. 源代码安装
bash</s><i> </i>git clone EMAIL:usual2970/certimate.git cd certimate go run main.go serve<i> </i><e>
## 二、使用
执行完上述安装操作后,在浏览器中访问 `http://127.0.0.1:8090` 即可访问 Certimate 管理页面。
bash</s><i> </i>用户名:[email protected] 密码:1234567890<i> </i><e>

## 三、支持的服务商列表
| | | | |
|------|------|-----|------|| | | | || | | | || | | | ||| | | ||| | | ||| | | |服务商 | 是否域名服务商 | 是否部署服务 | 备注 |
---|---|---|---|
阿里云 | 是 | 是 | 支持阿里云注册的域名,支持部署到阿里云 CDN,OSS |
腾讯云 | 是 | 是 | 支持腾讯云注册的域名,支持部署到腾讯云 CDN |
七牛云 | 否 | 是 | 七牛云没有注册域名服务,支持部署到七牛云 CDN |
CloudFlare | 是 | 否 | 支持 CloudFlare 注册的域名,CloudFlare 服务自带SSL证书 |
SSH | 否 | 是 | 支持部署到 SSH 服务器 |
WEBHOOK | 否 | 是 | 支持回调到 WEBHOOK |
## 四、系统截图





## 五、概念
Certimate 的工作流程如下:
这就涉及域名、dns 服务商的授权信息、部署服务商的授权信息等。
### 1. 域名
就是要申请证书的域名。
### 2. dns 服务商授权信息
给域名申请证书需要证明域名是你的,所以我们手动申请证书的时候一般需要在域名服务商的控制台解析记录中添加一个 TXT 记录。
Certimate 会自动添加一个 TXT 记录,你只需要在 Certimate 后台中填写你的域名服务商的授权信息即可。
比如你在阿里云购买的域名,授权信息如下:
bash</s><i> </i>accessKeyId: xxx accessKeySecret: TOKEN<i> </i><e>
在腾讯云购买的域名,授权信息如下:
bash</s><i> </i>secretId: xxx secretKey: TOKEN<i> </i><e>
### 3. 部署服务商授权信息
Certimate 申请证书后,会自动将证书部署到你指定的目标上,比如阿里云 CDN 这时你需要填写阿里云的授权信息。Certimate 会根据你填写的授权信息及域名找到对应的 CDN 服务,并将证书部署到对应的 CDN 服务上。
部署服务商授权信息和 dns 服务商授权信息一致,区别在于 dns 服务商授权信息用于证明域名是你的,部署服务商授权信息用于提供证书部署的授权信息。
## 六、常见问题
Q: 提供saas服务吗?
>
A: 不提供,目前仅支持self-hosted(私有部署)。
Q: 数据安全?
>
A: 由于仅支持私有部署,各种数据都保存在用户的服务器上。另外Certimate源码也开源,二进制包及Docker镜像打包过程全部使用Github actions进行,过程透明可见,可自行审计。
Q: 自动续期证书?
>
A: 已经申请的证书会在过期前10天自动续期。每天会检查一次证书是否快要过期,快要过期时会自动重新申请证书并部署到目标服务上。
## 七、贡献
Certimate 是一个免费且开源的项目,采用 [MIT 开源协议](LICENSE.md)。你可以使用它做任何你想做的事,甚至把它当作一个付费服务提供给用户。
你可以通过以下方式来支持 Certimate 的开发:
支持更多服务商、UI 的优化改进、BUG 修复、文档完善等,欢迎大家提交 PR。