V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
usual2970
V2EX  ›  分享创造

[Certimate - SSL 证书自动申请、续期] 开源 SSL 证书自动管理工具

  •  
  •   usual2970 ·
    usual2970 · 114 天前 · 2463 次点击
    这是一个创建于 114 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Certimate - Your Trusted SSL Automation Partner

    Certimate

    Certimate 是一个开源的 SSL 证书管理工具,具有以下特点:

    1. 支持私有部署:部署方法简单,只需下载二进制文件并执行即可完成安装。
    2. 数据安全:由于是私有部署,所有数据均存储在本地,不会保存在服务商的服务器上,确保数据的安全性。
    3. 操作方便:通过简单的配置即可轻松申请 SSL 证书,并且在证书即将过期时自动续期,无需人工干预。

    Certimate 旨在为用户提供一个安全、简便的 SSL 证书管理解决方案。

    源码:

    Github: https://github.com/usual2970/certimate

    安装

    你可以直接从Releases 页下载预先编译好的二进制文件,解压后执行:

    ./certimate serve
    

    然后在浏览器中访问 http://127.0.0.1:8090 即可访问 Certimate 管理页面。

    默认账号:

    用户名: [email protected]
    密码:1234567890
    

    概念

    Certimate 的工作流程如下:

    1. 用户通过 Certimate 管理页面填写申请证书的信息,包括域名、dns 服务商的授权信息、以及要部署到的服务商的授权信息。
    2. Certimate 向证书场商的 API 发起申请请求,获取 SSL 证书。
    3. Certimate 存储证书信息,包括证书内容、私钥、证书有效期等,并在证书即将过期时自动续期。
    4. Certimate 向服务商的 API 发起部署请求,将证书部署到服务商的服务器上。

    这就涉及域名、dns 服务商的授权信息、部署服务商的授权信息等。

    域名

    就是要申请证书的域名。

    dns 服务商授权信息

    给域名申请证书需要证明域名是你的,所以我们手动申请证书的时候一般需要在域名服务商的控制台解析记录中添加一个 TXT 记录。

    Certimate 会自动添加一个 TXT 记录,你只需要在 Certimate 后台中填写你的域名服务商的授权信息即可。

    比如你在阿里云购买的域名,授权信息如下:

    accessKeyId: xxx
    accessKeySecret: TOKEN
    

    在腾讯云购买的域名,授权信息如下:

    secretId: xxx
    secretKey: TOKEN
    

    部署服务商授权信息

    Certimate 申请证书后,会自动将证书部署到你指定的目标上,比如阿里云 CDN 这时你需要填写阿里云的授权信息。Certimate 会根据你填写的授权信息及域名找到对应的 CDN 服务,并将证书部署到对应的 CDN 服务上。

    部署服务商授权信息和 dns 服务商授权信息一致,区别在于 dns 服务商授权信息用于证明域名是你的,部署服务商授权信息用于提供证书部署的授权信息。

    使用

    Alt text

    许可证

    Certimate 采用 MIT 许可证,详情请查看 LICENSE 文件。

    22 条回复
    dislazy2023
        1
    dislazy2023  
       114 天前
    TimPeake
        2
    TimPeake  
       114 天前
    是个狠人....页面里所有用到的表单组件都是自己写?
    myderr
        3
    myderr  
       114 天前
    厉害,不过没得中文吗
    chenxuuu
        4
    chenxuuu  
       114 天前
    和 certd 的功能一样的?
    u1s1a
        5
    u1s1a  
       114 天前 via Android
    论坛人才济济👏,如果能做个 docker 镜像就更好了
    aeiou520
        6
    aeiou520  
       114 天前
    来个 docker 版本呗
    cuteguy
        7
    cuteguy  
       114 天前
    三个月的测试证书也可以自动续么?
    usual2970
        8
    usual2970  
    OP
       114 天前
    @dislazy2023 谢谢~
    usual2970
        9
    usual2970  
    OP
       114 天前
    @TimPeake 组件用的开源的组件库,shadcn ui
    usual2970
        10
    usual2970  
    OP
       114 天前
    @myderr 就是中文的~
    usual2970
        11
    usual2970  
    OP
       114 天前
    @chenxuuu 了解了一下,都是证书管理,功能有相同很正常,不过也都有特别之处~
    usual2970
        12
    usual2970  
    OP
       114 天前
    @u1s1a 近期考虑一下,本来就是为避免安装复杂,才做成下载下来就能用的形式的~
    usual2970
        13
    usual2970  
    OP
       114 天前
    @aeiou520 近期考虑一下,本来就是为避免安装复杂,才做成下载下来就能用的形式的~
    usual2970
        14
    usual2970  
    OP
       114 天前
    @cuteguy 可以的,目标就是为免费的证书自动续期~
    Cyrix686
        15
    Cyrix686  
       113 天前
    谢谢楼主,这得解放多少运维人员的时间和精力~
    zentst
        16
    zentst  
       113 天前
    能用于 DDNS 域名的 SSL 证书吗?
    usual2970
        17
    usual2970  
    OP
       113 天前
    @zentst 可以的,证书是域名的证书,不是 DNS 的,也不是 IP 的
    saibotan
        18
    saibotan  
       113 天前
    巧了,我自己也写了一套,逻辑类似
    usual2970
        19
    usual2970  
    OP
       113 天前
    @saibotan 说明大家都有这个需求~
    myderr
        20
    myderr  
       112 天前
    @usual2970 #10 哦哦,我进入到管理页面, 那个里面不是中文,然后部署方式可以添加几个方式吗,比如 webhook,ftp,wedav 之类的
    usual2970
        21
    usual2970  
    OP
       112 天前
    @myderr 后续会逐步完善起来的
    wslmq
        22
    wslmq  
       111 天前
    docker 好像不可用
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3027 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 14:08 · PVG 22:08 · LAX 06:08 · JFK 09:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.