一、 下载与安装 OpenSSL
由于 Windows 系统没有自带 OpenSSL,我们需要从第三方(Shining Light Productions)下载编译好的安装包。
- 访问下载页面 :
打开浏览器访问:https://slproweb.com/products/Win32OpenSSL.html - 选择正确的版本 :
- 架构选择 :现在绝大多数电脑都是 64 位,请选择
Win64开头的版本。如果是老电脑,选Win32。 - 类型选择 :强烈建议下载
Light版本(体积小,只包含基础命令行工具,足够日常使用)。 - 版本号 :选择最新的稳定版即可(如
Win64 OpenSSL v3.x.x Light EXE)。
- 架构选择 :现在绝大多数电脑都是 64 位,请选择
- 运行安装程序 :
- 双击下载的
.exe文件,一路点击Next。 - 安装路径 :建议保持默认路径(例如
C:\Program Files\OpenSSL-Win64),方便后续配置。 - 最后一步(注意) :安装完成时,会弹出一个询问是否捐款的页面(One-time $10 donation...)。取消勾选那个复选框 ,然后点击
Finish完成安装。
- 双击下载的
二、 配置环境变量(关键排错步骤)
安装完成后,如果你直接在 CMD 里输入 openssl,可能会提示"不是内部或外部命令"。这是因为系统找不到它,需要手动配置路径。
-
复制安装路径 :去你的安装目录下,找到
bin文件夹,复制它的完整路径。例如:C:\Program Files\OpenSSL-Win64\bin -
打开环境变量设置 :按键盘
Win键,搜索"环境变量",点击"编辑系统环境变量"。 -
编辑 Path :在弹窗右下角点击"环境变量" -> 在下方的"系统变量"中找到
Path,双击打开。 -
添加路径 :点击"新建",把刚才复制的
bin路径粘贴进去,一路点击"确定"保存。 -
⚠️ 验证 :必须关掉当前所有 CMD 窗口 ,重新打开一个新的。输入以下命令测试:
cmdopenssl 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 访问浏览器还是会报"不安全"。需要把它加入系统的信任区:
- 找到
cert.pem文件,双击 它,点击"安装证书"。 - 存储位置选择"本地计算机"(需要管理员权限),点击下一步。
- 选择"将所有证书放入下列存储",点击"浏览"。
- 选中 "受信任的根证书颁发机构",点击确定,然后一直"下一步"直到完成。
- ⚠️ 重要 :配置完后,彻底关闭浏览器再重新打开,你的 HTTPS 地址前面就会显示一把安全的小锁了。