windows下申请Let‘s Encrypt免费证书

Let’s Encrypt简介

Let’s Encrypt作为一个公共且免费SSL的项目逐渐被广大用户传播和使用,是由Mozilla、Cisco、Akamai、IdenTrust、EFF等组织人员发起,主要的目的也是为了推进网站从HTTP向HTTPS过度的进程。

Let’s Encrypt免费SSL证书的出现,也会对传统提供付费SSL证书服务的商家有不小的打击。到目前为止,Let’s Encrypt获得IdenTrust交叉签名,这就是说可以应用且支持包括FireFox、Chrome在内的主流浏览器的兼容和支持

步骤如下:

一.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加入到任务计划中

 

2,936 views

发表评论