免费得到HTTPS证书方法

时间:2024-03-13 14:39:19

       开发微信小程序时,要求发布的站点要求HTTPS证书。然后CHROME浏览器现在都默认将HTTP的站点显示为不安全。看来,必须得让自己的平台也加上HTTPS了。同时GODADDY的HTTPS证书,一个证书只对应一个域名,就不能适用子域名了。 还遇到奇怪 现象。在SERVER 2012导入crt证书成功后,刷新就会消失,网上说是微软的一个BUG。 经过亲自尝试和翻阅网上的一些资料,终于找到方便快捷也免费的HTTPS证书的方法,和付费的没有区别啊。

  • 现在分享给大家,帮助更多IT伙伴。

这个免费HTTPS申请的原理是通过WIN10的应用商品 安装ubunto,再向ubunto中安装certbot这个功能,向Letsencrypt获取到免费的HTTPS证书,按图所做,一般10分钟左右直接就在本机生成了HTTPS证书

先在WIN10中安装Ubunto

window 10 控制面板->程序-> 添加删除WINDOWS功能 :linux的windows子程序 勾选,确定并安装此功能。

再通过WIN10自带的windows store搜索ubuntu并安装。

在本机运行 ubuntu,第一次运行显示installing , this may take a few minutes

Installing成功后,第一次运行ubunto,会显示 enter new UNIX username

免费得到HTTPS证书方法

 

输入用户名密码成功后如图 :

免费得到HTTPS证书方法

 

输入 sudo lsb_release –a ,再输入刚设置的密码,可以查看ubunto版本信息

免费得到HTTPS证书方法

 

安装certbot

 

打开网址 https://certbot.eff.org
选择None of the above  和 上面查看到的ubtunto版本(本案例是Ubunto18.04 LTS)

免费得到HTTPS证书方法

选择之后,页面下方会显示 ubunto中操作的命令行

免费得到HTTPS证书方法

 

回到ubunto中输入上述命令,每行命令回车。ubunto会执行操作,安装需要的包,并输出相应结果。

执行到 sudo apt-get install certbot 结束为止。网页中的命令结束,安装上了certbot这个功能。

免费得到HTTPS证书方法

 

生成证书

 

继续在本机ubunto终端输入命令行:

$ sudo certbot certonly  -d *.canbloom.com --manual --preferred-challenges dns --server https://acme-v02.api.letsencrypt.org/directory

这里的canbloom.com就是你的域名,后面提到的这个域名大家都请改成您自己的域名,别忘咯

回车执行此命令,

  • 会提示输入ubunto密码
  • 是否对域名和机器(IP)进行绑定(必需同意Y才能继续)

免费得到HTTPS证书方法

显示按ENTER继续,但是必须在域名解析里加一个TXT记录,才能继续。

这是证书最关键一步,创建TXT记录 。这是用来判断证书申请者对该域名有所有权。

 

登录自己的域名所在的网站。本人是GODADDY的:

免费得到HTTPS证书方法

TXT创建后,新打开一个ubunto终端, 用这个命令检查是否TXT解析添加成功。

dig -t txt _acme-challenge.canbloom.com @8.8.8.8

执行命令输出如下图,表示添加TXT成功

免费得到HTTPS证书方法

 

回到申请证书的终端 ,现在可以放心的按ENTER。输出如下图:

免费得到HTTPS证书方法

关键的信息在IMPORTANT NOTES 中,生成的证书保存在\etc\letsencrypt\live\canbloom.com路径中。我们进这个路径看下生成的文件,在终端输入如下命令:

Cd /

Cd etc

Cd letsencrypt

Cd live (执行此命令提示Permission denied,因为权限不足,没关系继续)

Sudo su (用管理员登录,提示输入密码,就可成功进入)

Cd live

Cd canbloom.com

Dir (命令行最后输出文件就是申请到的pem证书文件了)

免费得到HTTPS证书方法

 

合并生成pfx证书文件

我们所申请生成的证书为pem格式,而IIS只支持pfx格式证书,那我们要把pem文件合并为pfx证书

执行合并生成pfx证书的命令:

openssl pkcs12 -export -out canbloom.pfx -inkey privkey.pem -in fullchain.pem -certfile cert.pem

会提示创建导出证书密码、确认导出密码,输入完成,回车执行完成,但并没有任何提示,如图:

免费得到HTTPS证书方法

所以通过windows资源管理器找到证书所在的ubunto路径,确认pfx证书是否存在:

C:\Users\XXXXX\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\etc\letsencrypt\live\canbloom.com\

上述XXXXX是您本机的用户名,大家复制粘贴改一下就是你本机的路径了

路径中可以看到申请到的pem证书文件,和生成的pfx证书文件

免费得到HTTPS证书方法

 

执行到这里,成功得到了可以导入到IIS的https的证书!!

https证书各大云平台都可以付费购买费用几百一年。GODADDY也有,但使用起来颇为麻烦,因为它不能用于子域名,二级域名的限制。有强烈好奇心和求知欲的IT伙伴位,付费买HTTPS不如手动申请下吧。

 

堪博科技cxy

20191022