在Windows 11环境下,生成自签名证书

在Windows 11环境下,使用上述命令生成自签名证书时,需要注意的是Windows命令行不直接支持`<(command)`这样的进程替换语法。因此,您需要稍微调整方法来实现相同的目标。下面是分步骤的操作指南:

### 1. 安装OpenSSL

确保您已经在Windows 11上安装了OpenSSL。可以通过Chocolatey、Scoop等包管理器安装,或者直接从[Shining Light Productions](https://slproweb.com/products/Win32OpenSSL.html)下载安装包。

### 2. 创建扩展配置文件

由于不能直接在命令行中嵌入配置,您需要先创建一个包含额外扩展配置的文本文件。例如,创建一个名为`san_config.txt`的文件,内容如下:

```ini
[SAN]
subjectAltName = DNS:hostname,IP:192.168.1.101
```

### 3. 修改并执行OpenSSL命令

接下来,修改原始命令,使用上面创建的配置文件来指定额外的扩展。打开命令提示符或PowerShell(推荐以管理员身份运行),然后执行以下命令:

```powershell
openssl req ^
-newkey rsa:2048 ^
-x509 ^
-nodes ^
-keyout file.key ^
-out file.crt ^
-subj "/CN=Hostname" ^
-config C:\path\to\openssl.cnf ^
-extensions SAN ^
-sha256 ^
-days 3650
```

配置环境变量

openssl req -newkey rsa:2048 -x509 -nodes -keyout file.key -out file.crt -subj "/CN=Hostname" -config "D:\Program Files\OpenSSL-Win64\openssl.cnf" -extensions SAN -sha256 -days 3650

openssl req -newkey rsa:2048 -x509 -nodes -keyout file.key -out file.crt -subj "/CN=Hostname" -config "D:\Program Files\OpenSSL-Win64\openssl.cnf" -extensions SAN -sha256 -days 3650

这里假设您的OpenSSL配置文件位于`C:\path\to\openssl.cnf`,请根据实际情况替换。同时,您需要通过`-config`参数指定这个基本配置文件的位置,而扩展配置则通过前面创建的`san_config.txt`文件间接加入。

### 4. 合并配置文件(可选)

如果您希望一次性处理,可以临时合并基本配置文件`openssl.cnf`和扩展配置`san_config.txt`到一个新的临时文件,然后再用这个临时文件作为`-config`的参数。这可以通过批处理脚本或手动合并后临时保存一个新的配置文件来实现。

### 5. 导入证书到Windows信任存储

生成证书和密钥对之后,将证书导入到Windows的信任存储中:

1. 打开证书管理器(`certlm.msc` 对于本地计算机存储,或 `certmgr.msc` 对于当前用户存储)。
2. 导航到“受信任的根证书颁发机构” -> “证书”。


3. 右键选择“所有任务” -> “导入”,然后按照向导指示导入`file.crt`。

这样,您就在Windows 11上成功配置了一个带有Subject Alternative Name(SAN)扩展的自签名证书。

下载地址:Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions

Win64OpenSSL_Light-3_3_0.exe

---------------------------------------------------------

http-server

确保已经安装了npm和Node.js。然后,通过npm全局安装http-server,如果尚未安装:

npm install -g http-server

3. 启动HTTPS服务

使用http-server启动HTTPS服务,需指定证书和私钥文件路径:

http-server -S -C "D:\Program Files\OpenSSL-Win64\bin\file.crt" -K "D:\Program Files\OpenSSL-Win64\bin\file.key" -p 10011

 
http-server -S -C "path\to\your\server.crt" -K "path\to\your\server.key" -p 8443
  • -S 开启HTTPS。
  • -C 指定你的证书文件路径。
  • -K 指定你的私钥文件路径。
  • -p 8443 指定使用8443端口,因为HTTPS默认使用443端口,但作为非根用户可能无法直接绑定此端口。

---------------------------------------------------------------------------------------------------------------------------------

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值