我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

自从看了elasticsearch给本地localhost做了个https自签名证书后,苏南大叔算是开了眼界了不是?而且,elastic search这个证书,对于本地测试来说,它还有个不大不小的毛病。那就是里面把随时可变的ip地址给写进去了,对于苏南大叔仅仅在本地使用localhost测试来说,不能不说是个bug...

苏南大叔:windows系统,如何利用mkcert做一个自签名的证书? - mkcert自签名证书
windows系统,如何利用mkcert做一个自签名的证书?(图5-1)

苏南大叔的“程序如此灵动”博客,记录苏南大叔的代码编程经验总结。测试环境:win10mkcert@1.4.4。通过mkcert命令,可以做一个自签名的localhost证书,就可以访问https://localhost/了,这是个奇怪的体验。

途径一,安装mkcert

本文所使用的这个工具,叫做mkcert。用来做网站自签名证书,非常简单容易,比以前的openssl创建证书要简单的多。
官方网站如下:

苏南大叔:windows系统,如何利用mkcert做一个自签名的证书? - mkcert-github
windows系统,如何利用mkcert做一个自签名的证书?(图5-2)

途径二,通过choco下载

如果本地有安装choco下载工具的话,也可以使用choco下载mkcert,非常容易。

命令如下:

choco install mkcert

安装完位置是:环境变量里面的ChocolateyInstall设置位置,并且确认对应的目录在path环境变量下面。

苏南大叔:windows系统,如何利用mkcert做一个自签名的证书? - path环境变量
windows系统,如何利用mkcert做一个自签名的证书?(图5-3)

参考文章:

生成证书

收集好要生成证书的域名以及ip等,注意没有端口号。执行如下命令:

mkcert domain1 [domain2 [...]] 

例如:

mkcert test "*.test" a.test localhost 127.0.0.1 ::1
这里就没有写那个容易发生变化的192.168.*.*

这个时候就会生成两个文件,一个叫cert.pem(公钥),另外一个叫做cert-key.pem(私钥),证书有效期两年。

苏南大叔:windows系统,如何利用mkcert做一个自签名的证书? - 生成证书
windows系统,如何利用mkcert做一个自签名的证书?(图5-4)

使用证书

自签名的证书,要在服务器端进行配置,也需要在客户端进行配置。证书机构颁发的证书,只需要在服务器端进行配置就行了。

1 在服务器端进行配置的部分,这里就不说了。因为不同的服务器端软件环境,配置的方法也不同。
2 而客户端所需要做的就是:信任证书。
2.1 如果客户端恰好就是本机的话,那么可以直接执行:

mkcert -install
没错,参数没写错。就是一个横杠加install....
2.2 如果客户端不是本机的话,修改cert.pem文件后缀为.crt,然后在客户机那边双击就可以安装。唯一需要注意的是:要选择“受信任的根证书颁发机构”。

苏南大叔:windows系统,如何利用mkcert做一个自签名的证书? - 受信任的证书颁发机构
windows系统,如何利用mkcert做一个自签名的证书?(图5-5)

结语

在服务器端使用这个证书,就是把http升级为httpsws也升级为wss。不过,根据服务器端情况的不同,配置方案就太多了。后续文章再做补充。

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   win10