admin管理员组文章数量:1559105
背景介绍(只看步骤的可以跳过):
let's encrypt是个积善的大公司,随着https普及,chrome只认https,let's encrypt给了大众百姓免费搭乘https通信的方式。更加重要的是,现在很多的浏览器和操作系统已经认可let's encrypt的根证书,意思就是说,我们可以像正常付费证书一样使用let's encrypt的证书了。网站证书的分类自行搜索。
let's encrypt 的证书获取,使用automatic certificate management environment (acme)协议。想要获取证书,只需要使用实现acme协议的工具,简单配置一下,就可以获取到证书。
提前说明一下,证书的获取,需要你提前拥有域名 和 网络主机。拥有域名这是废话,网络主机也是需要,因为我们要使用域名做一次解析,来证明这个域名是你的,证明的过程就是使用域名解析到一个预设的空间上。网络主机可能是vps,可能是独立主机,也会是各个信息服务商的各个形式的虚拟主机,服务商只提供了面板,shell等基本的访问通道。无论是哪种主机形式,区别只在运行 acme客户端的方式不同而已。let's encrypt九游会真人第一品牌官网推荐使用certbot,同时也根据各个厂商的特点可推荐了可以使用的acme客户端列表。
操作方法一:
let's encrypt 提供了一个包含常用工具的github仓库,可以使用这个。
git clone https://github/letsencrypt/letsencrypt
cd letsencrypt
./certbot-auto --help all
./certbot-auto certonly --standalone --email admin@laozuo -d laozuo -d www.laozuo
可以看到,这个仓库就包含一个let'sencrypt配置完毕的certbot客户端。certbot使用python写的,所以你需要提前准备好certbot运行环境。
"/etc/letsencrypt/live/laozuo/"域名目录下有4个文件就是生成的密钥证书文件。
cert.pem - apache服务器端证书
chain.pem - apache根证书和中继证书
fullchain.pem - nginx所需要ssl_certificate文件
privkey.pem - 安全证书key文件
免费的证书可以使用90天,3个月,如果逾期测需要重新手动生成一次,执行上面的最后一行命令。有一些虚拟机服务商的用户面板上,提供了let's encrypt自动续期的功能,其实也是自动运行脚本,每过一段时间运行一次,把产生的证书替换到server指定的位置上。
操作方法二:
上面是人家配置好的工具让我们使用,下面我们手动下载acme客户端进行配置,然后去获取证书。
官方网站讲的很详细,我就不用多说了。有时间,我简单翻译一下,需要的话,可以给我留言。早上写的这个博客,我要上班了,不说了。
附属1 --windows 使用配置:
现在服务器都是 unix 系列的,基本不会有人使用window产品,但是不幸的是,作者使用的一个网站应用,必须运行在 iis 上面,so,为了解决这个问题,我记录一下 window 获取 let's encrypt 证书的方法吧。
通过上文智慧的你应该知道,我们需要一个实现acme协议的windows客户端,这里使用 powershell 。
//power shell 5.0 版本
ps> install-module -name acmesharp
//power shell 3.0/4.0等先安装 choco
ps> choco install acmesharp-posh-all
//申请le证书
ps> import-module acmesharp
ps> initialize-acmevault
//注册信息
ps> new-acmeregistration -contacts mailto:somebody@example -accepttos
//域名信息
ps> new-acmeidentifier -dns myserver.example -alias dns1
//iis 执行
ps> complete-acmechallenge dns1 -challengetype http-01 -handler iis -handlerparameters @{ websiteref = 'default web site' }
//其他执行
ps> complete-acmechallenge dns1 -challengetype http-01 -handler manual
== manual challenge handler - http ==
* handle time: [1/12/2016 1:16:34 pm]
* challenge token: [2yrd04twqizth6twlz1azl15qiogairmx8mjaoa5qh0]
to complete this challenge please create a new file
under the server that is responding to the hostname
and path given with the following characteristics:
* http url: [http://myserver.example/.well-known/acme-challenge/2yrd04twqizth6twlz1azl15qiogairmx8mjaoa5qh0]
* file path: [.well-known/acme-challenge/2yrd04twqizth6twlz1azl15qiogairmx8mjaoa5qh0]
* file content: [2yrd04twqizth6twlz1azl15qiogairmx8mjaoa5qh0.h3urk7qfuvhyyzqjysfc9em25rtdn7bn4pwil37rgms]
* mime type: [text/plain]
------------------------------------
执行结束后,lle服务器会自动按照你配置的域名,访问/.well-known/下的一临时产生的文件,并且会返回一个字符串。
//提交认证
ps> submit-acmechallenge dns1 -challengetype http-01
//验证
ps> update-acmeidentifier dns1
//创建证书申请
ps> new-acmecertificate dns1 -generate -alias cert1
ps> submit-acmecertificate cert1
//下载证书
//私钥
ps> get-acmecertificate cert1 -exportkeypem "path\to\cert1.key.pem"
//le证书
ps> get-acmecertificate cert1 -exportcertificatepem "path\to\cert1.crt.pem" -exportcertificateder "path\to\cert1.crt"
//ca中间证书
ps> get-acmecertificate cert1 -exportissuerpem "path\to\cert1-issuer.crt.pem" -exportissuerder "path\to\cert1-issuer.crt"
//iis用的pfx文件
ps> get-acmecertificate cert1 -exportpkcs12 "path\to\cert1.pfx"
ps> get-acmecertificate cert1 -exportpkcs12 "path\to\cert1.pfx" -certificatepassword 'g1bb3ri$h'
附属2--(windows 图形界面):
既然是windows,图形界面肯定最简单的。大家可以搜索 let's encrypt for windows。有exe执行文件,需要的信息和上面一样。需要说明一下,新版本的for window在cmd界面的选型和旧版本是不同的,需要自己分辨命令行的各种配置,包含在windows下iis的自动工具,非iis的模式,手动模式等,提示你输入信息,然后同样,需要完成一个域名和控件的验证。这里有一个问题,windows里面,不能之间创建 .wellknow 文件夹,这个时候,你需要想想办法绕过这个问题。。。还有,在初始化 forwind应用的时候,需要翻墙才可以。
祝你成功。
本文标签: 版本
j9九游会老哥俱乐部交流区的版权声明:本文标题:let's encrypt免费证书申请流程-(简要全能版本,包含windows下操作) 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dongtai/1727366151a1111048.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。