Windows 端 OpenSSL 安装与自签证书生成笔记

一、 下载与安装 OpenSSL

由于 Windows 系统没有自带 OpenSSL,我们需要从第三方(Shining Light Productions)下载编译好的安装包。

  1. 访问下载页面 :
    打开浏览器访问:https://slproweb.com/products/Win32OpenSSL.html
  2. 选择正确的版本 :
    • 架构选择 :现在绝大多数电脑都是 64 位,请选择 Win64 开头的版本。如果是老电脑,选 Win32。
    • 类型选择 :强烈建议下载 Light 版本(体积小,只包含基础命令行工具,足够日常使用)。
    • 版本号 :选择最新的稳定版即可(如 Win64 OpenSSL v3.x.x Light EXE)。
  3. 运行安装程序 :
    • 双击下载的 .exe 文件,一路点击 Next。
    • 安装路径 :建议保持默认路径(例如 C:\Program Files\OpenSSL-Win64),方便后续配置。
    • 最后一步(注意) :安装完成时,会弹出一个询问是否捐款的页面(One-time $10 donation...)。取消勾选那个复选框 ,然后点击 Finish 完成安装。

二、 配置环境变量(关键排错步骤)

安装完成后,如果你直接在 CMD 里输入 openssl,可能会提示"不是内部或外部命令"。这是因为系统找不到它,需要手动配置路径。

  1. 复制安装路径 :去你的安装目录下,找到 bin 文件夹,复制它的完整路径。例如:C:\Program Files\OpenSSL-Win64\bin

  2. 打开环境变量设置 :按键盘 Win 键,搜索"环境变量",点击"编辑系统环境变量"。

  3. 编辑 Path :在弹窗右下角点击"环境变量" -> 在下方的"系统变量"中找到 Path,双击打开。

  4. 添加路径 :点击"新建",把刚才复制的 bin 路径粘贴进去,一路点击"确定"保存。

  5. ⚠️ 验证 :必须关掉当前所有 CMD 窗口 ,重新打开一个新的。输入以下命令测试:

    cmd 复制代码
    openssl version

    能显示出类似 OpenSSL 4.0.3... 的版本号,说明配置完美!


三、 一键生成自签证书(复制即用)

⚠️ 避坑提醒 :Windows 的 CMD 不支持反斜杠 \ 换行。请将以下代码完整复制成一行 执行(建议先 cd 切换到你想保存证书的目录,如 D:\KuGou)。

cmd 复制代码
openssl req -x509 -newkey rsa:2048 -sha256 -days 3650 -nodes -keyout key.pem -out cert.pem -subj "/CN=183.230.197.230" -addext "subjectAltName = IP:183.230.197.230,IP:127.0.0.1,IP:10.96.6.65,DNS:localhost"

执行完毕后,当前目录会生成两个文件:

  • key.pem :私钥(⚠️绝对保密,不要泄露)。
  • cert.pem:证书(包含公钥和 IP 信息)。

四、 命令参数大白话解释

参数 作用解释
req -x509 告诉 OpenSSL:直接生成一张"自签证书",而不是去请求别人签名。
-newkey rsa:2048 生成新的私钥,采用 RSA 算法,长度 2048 位(目前最通用安全的标准)。
-sha256 使用 SHA-256 算法进行签名。
-days 3650 证书有效期 10 年(自签证书可以设长点,免去频繁续期麻烦)。
-nodes 私钥不加密(这样服务器读取时不用输密码,但私钥文件就变成了明文,必须严加看管)。
-keyout key.pem 生成的私钥叫 key.pem。
-out cert.pem 生成的证书叫 cert.pem。
-subj "/CN=..." 证书的主题名称(Common Name),这里填你的主要访问地址。
-addext 🔥 最重要的一步 。配置 SAN(主题备用名称)。现代浏览器只看 SAN,不看 CN。代码里的 IP:... 和 DNS:... 就是告诉浏览器:"用这几个地址访问我,证书都是合法的"。

五、 如何让浏览器信任这个自签证书?

刚生成的 cert.pem,修改成cert.crt直接通过 HTTPS 访问浏览器还是会报"不安全"。需要把它加入系统的信任区:

  1. 找到 cert.pem 文件,双击 它,点击"安装证书"。
  2. 存储位置选择"本地计算机"(需要管理员权限),点击下一步。
  3. 选择"将所有证书放入下列存储",点击"浏览"。
  4. 选中 "受信任的根证书颁发机构",点击确定,然后一直"下一步"直到完成。
  5. ⚠️ 重要 :配置完后,彻底关闭浏览器再重新打开,你的 HTTPS 地址前面就会显示一把安全的小锁了。
相关推荐
David猪大卫18 分钟前
【C++修炼】map 和 set 的使用
c语言·开发语言·数据结构·c++·经验分享·笔记·学习
星恒随风35 分钟前
MySQL 从零入门(三):表的约束详解
linux·服务器·数据库·笔记·mysql
蒸蒸yyyyzwd5 小时前
从后端面经学到的 3 个知识
笔记·学习
17岁的勇气5 小时前
Unity Shader unity文档学习笔记(二十二):shader变体
笔记·学习·unity
goehou5 小时前
让 AI 替我操作这台电脑,先把手能伸多远定下来
windows·自动化·权限管理·ai agent
坤坤子吖5 小时前
Linux网络编程:自定义应用层协议与 JSON 序列化
linux·服务器·网络·c++·笔记·json
公子小六6 小时前
基于.NET的Windows窗体编程之WinForms数据持久化(1)
windows·microsoft·c#·.net·winforms
路灯上の马陈7 小时前
Java 内部类 学习笔记
笔记·学习
希和20278 小时前
51 单片机入门笔记:江科大课程代码逐行讲解(按键控制 LED 流水灯)
笔记·单片机·mongodb
前进的李工8 小时前
Agent 学习笔记 12:Agent 的工具应该怎么设计
人工智能·笔记·学习·agent·工具调用·skill·工具设计