初学者对SSL证书的理解可能非常模糊。所谓SSL证书,其实它包含两个方面,一是根证书,二是HTTPS的证书,HTTPS证书合法性由其根证书来进行认定。几大证书供应商的根证书一般都预置在系统中了,所以给人的错觉就是只知HTTPS证书,而不清楚其根证书。所以,我们的目的是有两个,创建自己的根证书和由这个根证书能认定的HTTPS证书。不同的系统证书的格式不尽相同,Windows的格式后缀名为.crt或.p12,为包含安装需要密码的独立文件,其他系统的可能为.pem,为两个文件,其中一个是key文件。
这里就使用mkcert创建局域网或单机可信任Windows格式证书进行说明:
一、工具 mkcert 版本下载页面: Releases · FiloSottile/mkcert (github.com)
当前版本为 1.4.4,选择 mkcert-v1.4.4-windows-amd64 下载。
二、创建根证书。
这里有个概念不是很清晰,就是上面这个文件的安装,其实就是创建根证书,其颁发者就是:
“mkcert 设备名称\用户名@设备名称”,(设备名称即计算机名)而不是传统意义上的安装。
操作过程如下:
1、 在下载目录文件夹右击选择在终端在打开(也可以打开CMD或PowerShell然后定位到下载目录)
键入命令:
.\mkcert-v1.4.4-windows-amd64.exe -install
以上命令会出现警告框(是否信任)然后点击确认,在C:\Users\用户名\AppData\Local\mkcert生成了两个文件:rootCA.pem(根证书) 和 rootCA-key.pem。AppData目录默认是隐藏的,请设置为显示。
2、复制rootCA.pem到其他目录(你要操作的目录)。对于Windows系统来说,这里的rootCA-key.pem没啥用,不用管。将其后缀名改为crt(不用转换),双击安装证书。后续要将这个根证书文件统一安装在局域网内的每台计算机上。
3、创建HTTPS Windows格式的证书。
键入命令:
.\mkcert-v1.4.4-windows-amd64.exe -pkcs12 192.168.1.1
后面这个IP地址根据自己的作为网站服务器的局域网IP地址进行修改。
Created a new certificate valid for the following names 📜
- "192.168.1.1"
The PKCS#12 bundle is at "./192.168.1.1.p12" ✅
The legacy PKCS#12 encryption password is the often hardcoded default "changeit" ℹ️
It will expire on 15 August 2025 🗓
它会在当前目录生成一个192.168.1.1.p12文件,设置默认密码为“changeit”,以及到期时间。双击安装这个证书就可以了。
4、网站编辑绑定。打开IIS管理器,右击需要绑定的网站,编辑绑定,通过IP地址浏览的不要填写主机名,选择https,ssl证书选择192.168.1.1,确定保存。
现在大功造成!局域网内其他安装了上面这个根证书的电脑就可以通过IP地址浏览网站服务器的网页了。