转自:https://blog.csdn.net/Coding13/article/details/103787758
本地服务需要支持https服务的时候,之前最常用到的就是使用openssl生成自签名证书来支持https。但是使用自签名证书在浏览器里面就会遇到证书“不安全”的提示,为了解决证书“不安全”往往是煞费苦心。
现在在这里为大家提供一个简单使用的工具和方法,可以轻松实现本地服务支持https,而且是证书安全的https,彻底解决证书“不安全”!
这里需要用到的工具就是mkcert:
1、首先去下载mkcert的可执行程序。
2、windows下可以直接下载可执行程序,然后将mkcert-v1.2.0-darwin-amd64 重命名为mkcert。
3、在命令行里cd到mkcert所在的目录,执行mkcert install,如下图:
在截图中可以看到,mkcert在install的过程中创建了CA证书,创建到了“C:\Users\Administrator\AppData\Local\mkcert”目录下,这里暂记一下,后续会用。
4、接下来,我们就可以执行创建证书的命令了,命令可以如下:
mkcert localhost 127.0.0.1
这样就会在mkcert.exe所在的目录下生成我们的证书文件了。其中,xxx.pem为证书,xxx-key.pem为私钥,你也可以使用-cert-file和-key-file两个参数设置生成文件的文件名。需要了解更多复杂操作的可以去github查找该项目了解更多。
5、这时候,将证书文件放到我们的测试工程下就可以启动https服务了。
6、到这里我们在当前电脑的浏览器直接调用我们本地服务的接口,就可以看到证书显示为安全的了。
7、但是,如果我们的服务需要安装到多个客户的电脑上呢,这时候我们就需要找到第三步中生成的CA证书了,使用命令行,或者编辑代码将CA证书按转到客户电脑的证书管理器中“受信任的根证书颁发机构”,我们的证书又是安全的了。
//win7系统 使用命令行将证书添加到受信任的根证书颁发机构的方法
set CUR_PATH=%CD%
certutil -addstore -f -enterprise -user root "ca.pem"
//win10系统 使用命令行将证书添加到受信任的根证书颁发机构的方法
certmgr.exe /c /add ca.pem /s root
mkcert github源码:
https://github.com/FiloSottile/mkcert
mkcert 可执行程序下载:
https://github.com/FiloSottile/mkcert/releases
————————————————
版权声明:本文为CSDN博主「Coding13」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Coding13/article/details/103787758