Let's encrypt免费证书申请流程-(简要全能版本,包含windows下操作)

背景介绍(只看步骤的可以跳过):


        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.com/letsencrypt/letsencrypt

cd letsencrypt

./certbot-auto --help all

./certbot-auto certonly --standalone --email admin@laozuo.org -d laozuo.org -d www.laozuo.org

可以看到,这个仓库就包含一个let'sEncrypt配置完毕的certbot客户端。certbot使用python写的,所以你需要提前准备好certbot运行环境。
    "/etc/letsencrypt/live/laozuo.org/"域名目录下有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.org -AcceptTos
//域名信息
PS> New-ACMEIdentifier -Dns myserver.example.com -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.com/.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应用的时候,需要翻墙才可以。
 

祝你成功。

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
let's encrypt是一个非盈利性质的机构,致力于提供免费的SSL证书服务,以促进整个互联网的安全性。在官网上,他们提供了一键式免费申请SSL证书的脚本,使得用户可以快速而简便地获取自己网站的SSL证书。 这个一键式免费申请SSL证书脚本的使用非常简单。首先,用户需要在自己的网站服务器上安装并配置好Certbot工具。Certbot是一个由let's encrypt官方开发的自动化工具,用于申请和更新SSL证书。 在安装和配置好Certbot之后,用户只需要在命令行中输入一条简单的指令,就可以申请自己网站的SSL证书了。具体指令如下: $ sudo certbot certonly --standalone -d <your_domain> 其中,“<your_domain>”替换为用户自己的域名。这条指令的作用是告诉Certbot以standalone模式运行,并申请一个新的证书,该证书将与用户输入的域名关联。 Certbot会自动与let's encrypt的服务器进行通信,验证用户所拥有的域名和服务器的控制权。一旦验证通过,Certbot就会生成一个有效期为90天的SSL证书,并将其保存在用户指定的位置。 用户可以根据自己的需要选择将证书文件保存到哪个目录,以及将其用于哪个Web服务器(例如Apache或Nginx)。 值得一提的是,这个一键式免费申请SSL证书脚本还支持自动续订证书的功能。Certbot会在证书即将过期之前自动执行更新过程,以确保用户的网站能够持续使用最新的SSL证书。 总之,let's encrypt官网提供的一键式免费申请SSL证书脚本极大地简化了证书申请和管理的过程,让网站拥有更安全可靠的加密通信。用户只需几个简单的步骤,就能轻松获得免费的SSL证书,提升网站的安全性和可信度。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值