Coder Social home page Coder Social logo

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

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

lwgboy networkabc

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.