当前位置: 首页 > article >正文

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.pemlocalhost-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时就不会弹出浏览器的警告了

http://www.kler.cn/a/533649.html

相关文章:

  • 视频融合平台EasyCVR无人机场景视频压缩及录像方案
  • P5251 [LnOI2019] 第二代图灵机 Solution
  • 【HarmonyOS之旅】基于ArkTS开发(三) -> 兼容JS的类Web开发(四) -> 常见组件(一)
  • C# List 列表综合运用实例⁓Hypak原始数据处理编程小结
  • AI取代人类?
  • 我主编的电子技术实验手册(24)——RL并联电路
  • 9. k8s二进制集群之kube-controller-manager部署
  • TensorFlow深度学习实战(6)——回归分析详解
  • Deepseek技术浅析(四):专家选择与推理机制
  • AI开发模式:ideal或vscode + 插件continue+DeepSeek R1
  • 0205算法:最长连续序列、三数之和、排序链表
  • 2024年12月 Scratch 图形化(四级)真题解析 中国电子学会全国青少年软件编程等级考试
  • 工作总结:上线篇
  • 你也在这里
  • MYSQL简单查询
  • 【JavaScript】《JavaScript高级程序设计 (第4版) 》笔记-Chapter3-语言基础
  • 力扣-哈希表-1 两数之和
  • Baklib如何实现内容管理平台的智能化升级与数据整合
  • Docker深度解析:安装各大环境
  • [加餐]指针和动态内存管理
  • 网络安全——Span 安全监控
  • 请求响应(接上篇)
  • 【字节青训营-9】:初探字节微服务框架 Hertz 基础使用及进阶(下)
  • 基于Java、SSM、HTML、Vue在线视频教学网课管理系统设计
  • 视频效果中的演化及演化选项
  • 【C++】多态详细讲解