阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Windows申请免费SSL证书-Let’s Encrypt

669次阅读
没有评论

共计 4313 个字符,预计需要花费 11 分钟才能阅读完成。

Let’s Encrypt 项目是由互联网安全研究小组 ISRG,Internet Security Research Group 主导并开发的一个新型数字证书认证机构 CA,Certificate Authority。该项目旨在开发一个自由且开放的自动化 CA 套件,并向公众提供相关的证书免费签发服务以降低安全通讯的财务、技术和教育成本。在过去的一年中,互联网安全研究小组拟定了 ACME 协议草案,并首次实现了使用该协议的应用套件:服务端 Boulder 和客户端 letsencrypt。

目前 LE 的证书已经获得了所有浏览器的信任了(XP 也可以支持了),在浏览器地址栏都会显示一个绿色可信任标志,证书 90 天有效期我们安装后需要定时任务每月续签一次证书就好了。

Windows 申请免费 SSL 证书-Let's Encrypt

目前网络上大部分的申请教程都是基于 Linux 的,我们这篇就是讲述如何在 Windows 服务器申请 LE 证书并安装到 Nginx 上的,如果想在 Windows 服务器中安装 LE 的证书我们先需要利用:

ACMESharp:https://github.com/ebekker/ACMESharp

ACMESharp 安装方式有两种:

  1. 如果你的服务器 PowerShell 版本是 5.0 以上,以管理员权限运行打开 PowerShell 执行:
PS> Install-Module -Name ACMESharp

来安装 ACMESharp,安装过程需要看网络情况,服务器有条件的用 vpn 安装,没条件的多尝试几次。
2. 如果你的服务器 PowerShell 版本是 3.0 or 4.0 的则麻烦些,先需要在 powershell 上安装 chocolatey 命令行包管理器,然后利用 chocolatey 安装。
在 powershell 中执行:

PS> iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))

来安装 chocolatey 命令行包管理器,然后执行:

PS> choco install acmesharp-posh-all

OK,ACMESharp 安装完毕我们来申请 LE 证书吧:

管理员身份打开 PowerShell

第一步:导入 ACMESharp 模块

PS> Import-Module ACMESharp

第二步:初始化 ACMEVault 来保存和管理证书信息

PS> Initialize-ACMEVault

第三步:在 LE 填写注册信息,接受注册协议

PS> New-ACMERegistration -Contacts mailto:somebody@example.org -AcceptTos

第四步:创建一个你要申请域名身份

PS> New-ACMEIdentifier -Dns myserver.example.com -Alias dns1

第五步:认证域名所有权

如果是 IIS web 服务器执行:

PS> Complete-ACMEChallenge dns1 -ChallengeType http-01 -Handler iis -HandlerParameters @{WebSiteRef = 'Default Web Site' }

如果是其它 web 服务器,比如 nginx 需要自己配置的执行:

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]
------------------------------------

执行完毕之后看返回结果 LE 的服务器在执行下一步时会访问你的这个地址:

http://myserver.example.com/.well-known/acme-challenge/2yRd04TwqiZTh6TWLZ1azL15QIOGaiRmx8MjAoA5QH0

返回的文本内容是:

2yRd04TwqiZTh6TWLZ1azL15QIOGaiRmx8MjAoA5QH0.H3URk7qFUvhyYzqJySfc9eM25RTDN7bN4pwil37Rgms

.well-known文件夹在 windows 下可能不能直接创建,需要在命令行下创建。

如果准备好了,我们继续下一步。

第六步:提交认证

PS> Submit-ACMEChallenge dns1 -ChallengeType http-01

提交之后我们接下来就需要等待 LE 服务器来验证了,我们可以通过命令:

PS> Update-ACMEIdentifier dns1
...
Status         : valid
...

来检查验证状态:
pedding 正在等待验证
valid 验证通过
invalid 验证失败,如果验证失败需要重新申请一次,也就是我们的第四步开始重新做一次,当然 alias 名称需要更换,因为已经存在记录了。

如果返回 valid 表示验证成功后我们继续下一步。

第七步:创建证书申请

PS> New-ACMECertificate dns1 -Generate -Alias cert1
PS> Submit-ACMECertificate cert1

我们通过以下来检查证书的状态:

PS> Update-ACMECertificate cert1
Id                  : 9182eb22-cd57-468e-946e-e0b0d8843906
Alias               : cert2
Label               :
Memo                :
IdentifierRef       : 198488a7-c778-488c-978b-606a0181deb9
KeyPemFile          : 9182eb22-cd57-468e-946e-e0b0d8843906-key.pem
CsrPemFile          : 9182eb22-cd57-468e-946e-e0b0d8843906-csr.pem
GenerateDetailsFile : 9182eb22-cd57-468e-946e-e0b0d8843906-gen.json
CertificateRequest  : ACMESharp.CertificateRequest
CrtPemFile          : 9182eb22-cd57-468e-946e-e0b0d8843906-crt.pem
CrtDerFile          : 9182eb22-cd57-468e-946e-e0b0d8843906-crt.der
IssuerSerialNumber  :
SerialNumber        : 00FAFC7F409C770B76EB9BA7445EC27B24494A
Thumbprint          : 9A59B855EA79B3E9DE1C14307E6A21851B3C0CE8
Signature           : 9A59B855EA79B3E9DE1C14307E6A21851B3C0CE8
SignatureAlgorithm  : sha256RSA

如果结果像以上情况则表示申请完毕,我们来下载证书文件吧。

第八步:下载证书文件

下载私钥:

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'

如果是 nginx 的话只需要利用到上面三个证书文件,这里有一个特殊的地方,在 nginx 中 ssl 证书是在 server 中加入 ssl 信息:

server {
    server_name www.xxx.com;
    listen 443;
    ssl on;
    ssl_certificate D://full.pem;
    ssl_certificate_key D://key.pem;
}

其中 full.pem 是由 LE 证书文件和 CA 中间证书合并的来的,把 CA 中间证书内容添加到 LE 证书中合并为一个 full.pem 文件,作为公钥,另一个就是私钥 key.pem。
配置好之后启动 nginx 直接在浏览器加上 https 访问你的域名吧!

LE 证书默认有三个月的有效期,我们可以每个月通过自动脚本来定是续订一个证书,续订证书的步骤就是命令行 Import-Module ACMESharp 导入模块后重复第七部和第八步然后应用新证书。

注意:在 https 站点中所有的外部资源都需要通过 https 访问,否则会抱安全错误(图片、视频等资源可以通过 http 访问但是控制台会出现警告)

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-01/139465.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计4313字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19355
评论数
4
阅读量
8258904
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
星哥带你玩飞牛NAS-7:手把手教你免费内网穿透-Cloudflare tunnel

星哥带你玩飞牛NAS-7:手把手教你免费内网穿透-Cloudflare tunnel

星哥带你玩飞牛 NAS-7:手把手教你免费内网穿透 -Cloudflare tunnel 前言 大家好,我是星...
星哥带你玩飞牛NAS-2:飞牛配置RAID磁盘阵列

星哥带你玩飞牛NAS-2:飞牛配置RAID磁盘阵列

星哥带你玩飞牛 NAS-2:飞牛配置 RAID 磁盘阵列 前言 大家好,我是星哥之前星哥写了《星哥带你玩飞牛 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换,告别多工具切换

12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换,告别多工具切换

12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换...
国产开源公众号AI知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率

国产开源公众号AI知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率

国产开源公众号 AI 知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率 大家好,我是星哥,...
每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站 - 手机博物馆 -CHAZ 3D Experience 一句话介绍:一个用 3D 方式重温...
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare 也瘫了连监控都挂,根因藏在哪? 最近两天的互联网堪称“故障...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛 NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手! 作为动漫爱好者,你是否还在为...
开发者福利:免费 .frii.site 子域名,一分钟申请即用

开发者福利:免费 .frii.site 子域名,一分钟申请即用

  开发者福利:免费 .frii.site 子域名,一分钟申请即用 前言 在学习 Web 开发、部署...
星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛 NAS-14:解锁公网自由!Lucky 功能工具安装使用保姆级教程 作为 NAS 玩家,咱们最...
把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地 大家好,我是星哥,今天教大家在飞牛 NA...
仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

还在忍受动辄数百兆的“全家桶”监控软件?后台偷占资源、界面杂乱冗余,想查个 CPU 温度都要层层点选? 今天给...