windows下 申请免费ssl证书的方法 (letsencrypt)
Let's Encrypt,官网是https://letsencrypt.org/,它是一个由各大公司赞助的公益组织;
有趋势有需求,自然也有免费可用。免费的SSL证书中,首推就是Let's Encrypt。
这里介绍几种免费的SSL证书申请方法:
1、发钱办理ssl证书,国内也有很多家这样的平台,像景安、又拍云等等,收费的,咋先不搞它;
2、在服务端,注意是服务端,就是你iis的那台机器,使用windows power shell 执行命令来创建ssl证书
2.1 找到power shell,可以直接搜索它,找不到的请度娘
2.2 最好用管理员身份打开,然后查看power shell的版本,查看命令:get-host

2.3 如果是5.0及以上的 执行命令:Install-Module -Name ACMESharp
2.3 如果你的服务器PowerShell版本是3.0 or 4.0的则麻烦些,先需要在powershell上安装chocolatey命令行包管理器,然后利用chocolatey安装
先执行:iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))
在执行:choco install acmesharp-posh-all
OK,ACMESharp安装完毕我们来申请LE证书吧
2.4 导入ACMESharp模块
执行:Import-Module ACMESharp
2.5 初始化ACMEVault来保存和管理证书信息
执行:Initialize-ACMEVault
2.6 在LE填写注册信息,接受注册协议
执行:New-ACMERegistration -Contacts mailto:youremail@example.com -AcceptTos
将youremail@example.com 替换你的邮箱
2.7 创建一个你要申请域名身份
执行 New-ACMEIdentifier -Dns myserver.example.com -Alias dns1
myserver.example.com 请替换为你需要申请SSL证书的那个域名, dns1 是别名,请替换为任意的一个别名,这个别名将用于后续申请中,用于代指你的域名。
2.8 认证域名所有权,就是验证一下这个域名是否在当前电脑访问的通,let's Encrypt 提供了三种验证方式:
2.8.1 通过IIS来验证,IIS如果是7.0及以上版本的,则可以通过验证
执行:Complete-ACMEChallenge dns1 -ChallengeType http-01 -Handler iis -HandlerParameters @{ WebSiteRef = 'Default Web Site' }
其中'Default Web Site' 是IIS中这个Website的名称
2.8.2 通过在网站指定目录下存放指定文件来验证,文件中存放指定内容
2.8.3 通过设置一个独立的二级域名来验证
这里我们不过多描述方法2和方法3
如需要 http://www.cnblogs.com/denny-duan/p/apply-free-ssl-ca-win7-powershell-letsencrypt.html这个地址里面有详细介绍
2.9 提交认证
执行:Submit-ACMEChallenge dns1 -ChallengeType http-01
2.10 提交之后我们接下来就需要等待LE服务器来验证了,我们可以通过命令查看状态:
执行:Update-ACMEIdentifier dns1

pedding 正在等待验证 valid 验证通过 invalid 验证失败,如果验证失败,请查看对应的反馈的错误,一般都是无法访问http://myserver.example.com/.well-known/acme-challenge/2yRd04TwqiZTh6TWLZ1azL15QIOGaiRmx8MjAoA5QH0 这个地址的文件,需要配置iis的mime类型,在mime类型中添加一个可以访问没有后缀名的文件类型,如下图,详情清查看http://www.hangge.com/blog/cache/detail_1560.html 。 然后需要重新申请一次,也就是从2.7 再次开始

2.11 如果返回valid表示验证成功后我们继续下一步 创建证书申请
执行:New-ACMECertificate dns1 -Generate -Alias cert1
执行:Submit-ACMECertificate cert1
cert1 是你自己定义的证书名称
2.12 接下来,执行如下命令,更新证书
执行:Update-ACMECertificate cert1

可以看到证书的签名算法是sha256RSA。至此,可以导出证书了
2.13 下载证书文件
下载私钥:Get-ACMECertificate cert1 -ExportKeyPEM "c:\ssl\cert1.key.pem"
下载LE证书: Get-ACMECertificate cert1 -ExportCertificatePEM "c:\ssl\cert1.crt.pem" -ExportCertificateDER "c:\ssl\cert1.crt"
下载CA中间证书:Get-ACMECertificate cert1 -ExportIssuerPEM "c:\ssl\cert1-issuer.crt.pem" -ExportIssuerDER "c:\ssl\cert1-issuer.crt"
下载IIS用的PFX文件 一个有密一个无密,选一个即可:
Get-ACMECertificate cert1 -ExportPkcs12 "c:\ssl\cert1.pfx"
Get-ACMECertificate cert1 -ExportPkcs12 "c:\ssl\cert1.pfx" -CertificatePassword '123456789'
上面的地址需要先创建哦,要不找不到路径保存,都执行后在对应的目录里面可以看到下载的ssl文件了。
2.14 下一步,将是安装证书了。 再iis里面的证书服务 里面导入证书,绑定https的的即可,这不再细说;
3 第三种方案,借住工具执行脚本命令,最快速,推荐使用
3.1 下载一个letsencrypt-win-simple的工具
这个地址有最新的版本和source: https://github.com/Lone-Coder/letsencrypt-win-simple/releases
也可以用我云盘地址,直接下载1.9.6的版本:http://pan.baidu.com/s/1nveHTlJ
3.2 下载完之后解压运行里面的letsencrypt.exe打开控制台窗口,第一次运行会提示你输入一个邮箱以供后续使用
输入一个可用邮箱回车即开始注册,并问你是否同意协议
输入Y回车,邮箱注册完之后,程序会自动获取当前服务器部署的所有网站,如下:

按N 再按1, 再选择要生成ssl的域名项即可,最后配置自动更新程序,选择y
生成的证书在C:\Users\Administrator\AppData\Roaming\letsencrypt-win-simple\httpsacme-v01.api.letsencrypt.org下
注意: 1 生成的计划任务的执行程序默认是生成证书时的letsencrypt.exe的路径,请到管理工具-计划任务查看相应任务属性,确认action的letsencrypt.exe路径对不对,如果移动到 其它地方了也需要进行相应修改,否则会执行失败
2 iis需要配置mime类型:扩展名:. mime类型:application/octet-stream,添加无后缀的文件访问 ,否则验证不通过,跟上面2.10 提到的是一样的;
3 由于Let's Encrypt免费SSL证书只有90天的有效期,过期需要更新,该程序会生成一个计划任务,每天上午9点钟运行检查过期的证书并更新。所以生成完成证书会提示你 是不是需要指定用户运行刷新证书的计划任务(会显示下次过期的时间),选择Y,输入相应的系统登录用户名和密码即可。
windows下 申请免费ssl证书的方法 (letsencrypt)的更多相关文章
- windows下部署免费ssl证书(letsencrypt)
随着网络的发展,网络安全也越来越重要,对于网站来说,从Http升级到https也是我们要做的首要事情.要实现https,首先我们需要申请一张SSL证书,这篇文章我主要介绍下边这几个方面: 1. SSL ...
- 最新阿里云申请免费SSL证书实现网站HTTPS化(图文教程一)
一.申请免费SSL证书: 1.登录阿里云: 2.领取代金券礼包: https://promotion.aliyun.com/ntms/yunparter/invite.html?userCode=0a ...
- 让网站永久拥有HTTPS - 申请免费SSL证书并自动续期 Let’s Encrypt
让网站永久拥有HTTPS - 申请免费SSL证书并自动续期 Let’s Encrypt 为什么要用HTTPS 网站没有使用HTTPS的时候,浏览器一般会报不安全,而且在别人访问这个网站的时候,很有可 ...
- 阿里云申请免费SSL证书,并配置到Tomcat,实现https访问
第一步:阿里云免费https证书安装 https://jingyan.baidu.com/article/fdffd1f8619481f3e98ca196.html 第二步:阿里云申请免费SSL证书 ...
- [从零开始搭网站六]为域名申请免费SSL证书(https),并为Tomcat配置https域名所用的多SSL证书
点击下面连接查看从零开始搭网站全系列 从零开始搭网站 由于国内的网络环境比较恶劣,运营商流量劫持的情况比较严重,一般表现为别人打开你的网站的时候会弹一些莫名其妙的广告...更过分的会跳转至别的网站. ...
- 物联网架构成长之路(20)-申请免费SSL证书
0.前言 今天域名备案申请下来了,接下来就是申请个SSL证书,现在普通的网站没有SSL都不好意思见人了.可是稍微好点的企业级SSL证书还是比较贵的.不过还好有免费的可以用.只不过要定时去续时间.这个不 ...
- 腾讯云服务器申请免费SSL证书,实现Https。
1.首先在腾讯云的SSL证书管理中申请免费的SSL.审核速度还是挺快的... 2.按照步骤申请后,就可以下载主流web服务器的证书了.如图: 3.这里我使用的web服务器是nginx,把nginx下的 ...
- 阿里云免费申请免费SSL证书
随着互联网的不断进步与发展,对于网站与数据的安全性要求也越来越高,原本的HTTP明文传输已经不被信任,https逐渐被关注,从谷歌.火狐浏览器将对HTTP明文页面标记"不安全",到 ...
- Certbot为域名申请免费SSL证书
Certbot(Let's Encrypt)是一个非盈利性认证机构通过运行互联网安全研究小组(ISRG)提供X.509 证书的传输层安全性不收取任何费用(TLS)加密.证书有效期为90天,在此期间可以 ...
随机推荐
- appium+python+安卓模拟器环境搭建和启动app实例
本文主要介绍在windows环境下搭建app自动化测试环境,具体步骤如下: 1.下载安卓sdk,网上很多资源 2.下载并安装安卓模拟器,官网上有 删除bin文件下的adb.exe和nox_adb.ex ...
- css 命名 有的加# ,有的加点 ,有的没加。请问下都在什么情况下用的?
[nav{}]这样的样式是给特定的标签直接定义样式时使用的,这个样式名称是跟标签是相对应的,比如我要给<p></p>这个标签设置样式,那我就可以直接写:p{样式}就可以,但是这 ...
- Vector和ArrayList的区别联系,Hashtable和HashMap的区别联系
Vector.Hashtable是早期的集合类,线程安全,但是效率低下,被相同原理.结构的ArrayList.HashMap取代. 1.Vector和ArrayList的区别和联系: 联系:实现原理相 ...
- JDBC的一些简单通用代码
JDBC的一些简单通用代码 功能包括 连接数据库 查询操作 执行sql语句 jdbc相关类的加载 关闭连接 获取数据库格式的当前时间 代码 package dao; import java.sql.C ...
- CodeForces-431D Random Task
题目描述 求一个\(n\),使得\(n+1\)到\(2n\)这些数的二进制中恰好有\(k\)个\(1\)的数有\(m\)个. Input 输入包含两个正整数\(m,k\).$(0<=m<= ...
- C++中多态的概念和意义
1,函数重写回顾: 1,父类中被重写的函数依然会继承给子类: 2,子类中重写的函数将覆盖父类中的函数: 1,重写父类当中提供的函数是因为父类当中提供的这个函数版本不能满足我们的需求,因此我们要重写: ...
- 【原创】Themida 2260 虚拟机 FISH 初探(一)
标 题: [原创]Themida 2260 虚拟机 FISH 初探(一)作 者: xiaohang时 间: 2016-03-03,00:39:37链 接: http://bbs.pediy.com/s ...
- 091、万能的数据收集器 Fluentd (2019-05-15 周三)
参考https://www.cnblogs.com/CloudMan6/p/7798224.html 前面的ELK 中我们使用的是 Filebeat 收集Docker日志,利用的是默认的loggi ...
- Ubuntu安装openssh安装ssh、 免密登录、 创建新用户并免密登录
一.安装openssh sudo apt-get install openssh-server ssh localhost 二.免密登录 cd ~/.ssh ssh-keygen ...
- 纯CSS绘制3D立方体
本篇记录的是使用CSS3绘制3D立方体,并旋转起来. 我的思路: 1️⃣ 首先,用div元素画6个正方形摞在一起放在画布中间.为了区分,分别给每个div选择了不同的颜色,并且设置为半透明方便透视. 2 ...