Windows下安装mkcert
在本地开发环境中,通常使用自签名证书来启用 HTTPS。然而,自签名证书默认情况下会被浏览器标记为不安全,因为它们不是由受信任的证书颁发机构(CA)颁发的。mkcert解决了这个问题,它可以生成在本地完全受信任的证书,就像由正规 CA 颁发的一样。 mkcert是一个开源的用于创建本地可信开发证书的工具,它具有易于使用、跨平台、安全可靠等特点。下面介绍如何使用mkcert申请localhost证书。
- 官网:https://github.com/FiloSottile/mkcert
- Windows下选择对应的处理器下载即可
- 在下面后所在的位置使用cmd命令安装
- 输入如下安装mkcert:
mkcert-v1.4.4-windows-amd64.exe -install
- 将CA证书加入本地可信CA,使用此命令,就能帮助我们将mkcert使用的根证书加入了本地可信CA中,以后由该CA签发的证书在本地都是可信的。下载后到下载目录中安装
- 查看根证书位置
mkcert-v1.4.4-windows-amd64.exe -CAROOT
- 打开证书控制台,按“Windows键+R”调出运行框,输入
certmgr.msc
命令
- 生成自签证书
直接跟多个要签发的域名或 ip 就行,比如签发一个仅本机访问的证书(可以通过127.0.0.1和localhost
,以及 ipv6 地址::1
访问)
mkcert-v1.4.4-windows-amd64.exe localhost 127.0.0.1 ::1
- 完成后,会在当前目录下生成证书和私钥文件,分别为
localhost.pem
和localhost-key.pem
文件名中的 +2 表示生成的证书支持多个主机名(在这个例子中是 localhost、127.0.0.1 和 ::1),其中 +2 表示总共有 3 个主机名(包括 localhost):localhost 是第一个主机名,+1 是第二个主机名(127.0.0.1),+2 是第三个主机名(::1,即 IPv6 地址)。
为什么是 +2:mkcert 会在证书文件名中根据指定的域名数量加上相应的数字后缀,这样可以避免文件名重复。
localhost+2.pem 表示证书支持 3 个主机名(localhost, 127.0.0.1, 和 ::1),其中 +2 表示第三个域名(::1,即 IPv6 地址)。
-
查看证书的有效期
要查看生成证书的有效期,可以使用 openssl 命令,有关Windows下安装openSSL可以看下这篇文章:
‘openssl‘ 不是内部或外部命令,也不是可运行的程序或批处理文件 -
使用 OpenSSL 查看证书有效期,使用以下命令查看证书的有效期:
openssl x509 -in localhost+2.pem -noout -dates
-in localhost+2.pem:指定证书文件。
-noout:不输出证书内容,只显示信息。
-dates:显示证书的有效期。
- mkcert 生成的默认证书有效期是2年
- 把生成的证书文件部署使用就可以在本地访问https时就不会弹出浏览器的警告了