GithubHelp home page GithubHelp logo

lwgboy / sslforfree Goto Github PK

View Code? Open in Web Editor NEW

This project forked from niustar/sslforfree

0.0 0.0 0.0 3 MB

HTTPS证书自动化申请工具

Home Page: https://github.com/NiuStar/SSLForFree

Go 100.00%

sslforfree's Introduction

SSLForFree

Let's Encrypt 上线的意义

Let's Encrypt 的最大贡献是它的 ACME 协议,第一份全自动服务器身份验证协议,以及配套的基础设施和客户端。这是为了解决一直以来 HTTPS TLS X.509 PKI 信任模型,即证书权威(Certificate Authority, CA)模型缺陷的一个起步。

在客户端-服务器数据传输中,公私钥加密使得公钥可以明文传输而依然保密数据,但公钥本身是否属于服务器,或公钥与服务器是否同属一个身份,是无法简单验证的。证书权威模型通过引入事先信任的第三方,由第三方去验证这一点,并通过在服务器公钥上签名的方式来认证服务器。第三方的公钥则在事先就约定并离线准备好,以备访问时验证签名之用。这个第三方就称为证书权威,简称CA。相应的,CA验证过的公钥被称为证书。

问题是,如果服务器私钥泄露,CA无法离线使对应的证书无效化,只能另外发布无效记录供客户端查询。也就是说,在私钥泄露到CA发布无效记录的窗口内,中间人可以肆意监控服-客之间的传输。如果中间人设法屏蔽了客户端对无效记录的访问,那么直到证书过期,中间人都可以进行监控。而由于当前CA验证和签发证书大多手动,证书有效期往往在一年到三年。

Let's Encrypt 签发的证书有效期只有90天,甚至希望缩短到60天。有效期越短,泄密后可供监控的窗口就越短。为了支撑这么短的有效期,就必须自动化验证和签发。因为自动化了,长远而言,维护反而比手动申请再安装要简单。

自动化的好处还有: - 子域名可以各自申请证书,不一定需要星号证书,进一步限制泄密的后果 - 由客户端生成证书,私钥不会暴露在互联网上,降低泄密概率

-------------------------------------------------------------------------------------------------------------------

该证书有免费申请网址,只是是手动的,不是特别方便,所以创建了该自动化批量申请程序方便大家,也请大家多多支持。

为便于各位跨平台需求,现放出源码,各位在自己的平台上搭建golang语言环境,然后运行go build进行编译生成就可以了。

现在贡献出自动化申请证书工具,只需要配置config.json

{
  "domain":[
    "www.test.com",
    "test.com",
    "mail.test.com"
  ],
  "checkPath":"F:/xampp/htdocs/nqc/.well-known/acme-challenge",
  "savePath":"./",
  "SleepTime":0,
  "code":"123456"
}

domain: 申请证书域名列表。

checkPath: 验证文件所放目录,F:/xampp/htdocs/nqc替换为自己的服务器根目录/.well-known/acme- challenge为两级子目录,需要自己在根目录文件夹下创建,最后验证文件保存在acme-challenge目录下面。

savePath: 最后证书保存目录

SleepTime: 该字段是表示验证程序在下载好验证文件多久后开始验证,如果是在申请证书的服务器上运行该程序,该字段可以填0。否则的话需要把验证文件拷到申请证书的服务器上,然后开始验证。

code: 申请码,为了正常维护该自动化程序,特设定申请码,在不固定时期开放申请码免费批量申请,过后申请码请打赏,打赏时留下邮箱,邮箱回复申请码,谢谢支持。(优惠期间原价50元现10元一个申请码)

mm_reward_qrcode_1516414105613

sslforfree's People

Contributors

niustar avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.