Let's Encrypt申请证书及使用

Let's Encrypt是一个免费的、自动的,开放的CA。

形形色色有证书扩展名和类型,我是通过这篇文章明白个大体的:http://www.cnblogs.com/guogangj/p/4118605.html

一.windows下证书生成。

  1.工具的使用

    参考certify,使用ACMESharp写了一个windows下Let's Encrypt证书申请工具,github地址-》https://github.com/asmrobot/LEGainer

    直接使用的下载地址:http://pan.baidu.com/s/1hsqp12G

    工具比较简单

    第一步:修改LEGainer.exe.config文件中appSettings节的相应信息,并保存。

        Mail是你的联系邮箱

        Domain是你要申请证书的域名

        WebDir是你网站的本地目录,LEGainer在申请证书过程中会在此目录生成文件,Let's Encrypt会通过域名访问生成的文件,所以请确保域名正确解析和绑定。

        CertificateSaveDir是证书申请下来后的保存目录。

        PFXPassword是pfx证书的密码。

    第二步:在域名所在的主机,运行LEGainer.exe。出现“success!~Enter press any key exit!”字样时,证书就生成成功了。

        

        假设你申请证书的域名为:centi.ztimage.com,那么LEGainer会生成如下几个证书文件:

        

        _certificate.der是证书文件,der格式

        _certificate.pem是证书pem格式

        _csr.pem是证书签名请求文件

        _key.pem是私钥文件

        _pkcs12.pfx是iis用的存放证书和私钥的文件

    更新:只用证书文件,在手机浏览器中会报找不到证书链的错误,新版会生成xxxx_chain.pem,为证书链nginx中尽量配置证书链证书。

        

  2.nginx的证书使用

    在server配置中只需要加入

    listen 443 ssl;
    ssl_certificate path\to\centi.ztimage.com_certificate.pem;

    ssl_certificate_key path\to\centi.ztimage.com_key.pem;

    重新加载配置即可

    nginx -s reload

 

  3.自动续约

    Let's Encrypt申请的证书有效期是三个月,为了不让证书失效,可以写个计划任务,每个月月初自动执行一次证书申请。

    新建Gainer.bat,输入以下内容

    path\to\Gainer.exe

    path\to\nginx.exe -s reload

    

    以管理员身份运行:schtasks /create /tn "letsencrypt_https" /tr path\to\Gainer.bat /sc monthly   /ru System

    以后就会每个月申请一次新的证书,schtasks的介绍可以看这里:http://www.cnblogs.com/lostyue/archive/2011/10/24/2223166.html

    不想写命令也可以手动操作-》控制面板-》管理程序-》任务计划程序 ,将Gainer.bat加入到任务计划中

 

二。linux下证书生成

  1.工具,acme.sh

  2.jexus使用

  3.自动续约

三。https的最佳实践

posted @ 2017-05-03 13:51  小砖  阅读(10360)  评论(2编辑  收藏  举报