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

news2024/11/25 3:20:50

在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端口,但作为非根用户可能无法直接绑定此端口。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1647562.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

充电宝哪家质量好?质量比较好充电宝牌子排名!

在外面时&#xff0c;想要给手机充电无非就是两个办法&#xff0c;扫一个共享充电宝&#xff0c;自己买一个充电宝随时携带&#xff0c;随时随地都能开始充电&#xff0c;虽然共享充电宝非常的方便&#xff0c;但是共享充电宝的一个借租费还是挺贵的&#xff0c;算下来还不如自…

scroll-view取消滚动条

之前在写scroll-view时&#xff0c;发现移动端自己带了滚动条&#xff0c;在横向滚动的时候就比较不好看&#xff0c;于是想着去除掉页面的滚动条。当时在uni-app官网上看到使用show-scrollbar控制滚动条是否出现&#xff0c;默认为false,于是我就十分的迷惑&#xff0c;既然默…

实例116 旋转的文字

本文仅供学习交流&#xff0c;严禁用于商业用途&#xff0c;如本文涉及侵权请及时联系将于24小时内删除 目录 1.实例说明 2.技术要点 3.实现过程 4.举一反三 3.7 图像字体 字体在图形、图像处理中具有举足轻重的作用&#xff0c;特殊的字体能够增加图像的显示效果。本节将…

Win11安装Docker Desktop运行Oracle 11g 【详细版】

oracle docker版本安装教程 步骤拉取镜像运行镜像进入数据库配置连接数据库&#xff0c;修改密码Navicat连接数据库 步骤 拉取镜像 docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g运行镜像 docker run -d -p 1521:1521 --name oracle11g registry.cn-ha…

设备驱动中device_create函数与sys/devices目录

当调用device_create时parent参数为空时&#xff0c;新添加的设备位于sys/devices//sys/devices/virtual目录 以下面代码的为例 my_newcharled.myclass class_create(THIS_MODULE,dtled); my_newcharled.mydevice device_create(my_newcharled.myclass,NULL,my_newcharled.ne…

艾体宝方案 | 加密USB金融解决方案

在现代金融行业中&#xff0c;保护敏感数据和合规性已成为至关重要的任务。为了帮助金融公司应对移动性风险和合规挑战&#xff0c;我们提供了一种高效的加密USB解决方案。 一、为什么金融公司需要加密USB解决方案 1、降低移动性风险 金融服务公司正在迅速过渡到一种模式&a…

访问学者在外访学期间,是否可以中途回国?

在全球化的今天&#xff0c;访问学者制度已成为促进国际学术交流与合作的重要桥梁。然而&#xff0c;对于许多国外访问学者来说&#xff0c;一个常见的问题是&#xff1a;在访学期间&#xff0c;我是否可以中途回国&#xff1f;这个问题涉及到多个方面&#xff0c;包括政策法规…

Linux系统编程之基本指令

零、Linux发展史 1、诞生 1991年10月5日&#xff0c;赫尔辛基大学的一名研究生Linus Benedict Torvalds在一个Usenet新闻组 &#xff08;comp.os.minix&#xff09;中宣布他编制出了一种类似UNIX的小操作系统&#xff0c;叫Linux。新的操作系统是受到另一个UNIX的小操作系统—…

Windows 系统使用Jenkins 实现CI一键打包部署操作

一 下载安装jenkins jenkins 中文官网链接: 下载地址 点击下载&#xff0c;完成后是一个.msi后缀的安装文件&#xff0c;双击安装 安装和普通软件一样&#xff0c;一路next&#xff0c;安装路径自己设置一下&#xff0c;默认是C盘&#xff0c;我C盘不够用了&#xff0c;设置…

【漏洞复现】用友时空KSOA linkadd接口处存在 SQL注入漏洞

免责声明&#xff1a;文章来源互联网收集整理&#xff0c;请勿利用文章内的相关技术从事非法测试&#xff0c;由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;所产生的一切不良后果与文章作者无关。该…

【LAMMPS学习】八、基础知识(5.7)Drude感应偶极子

8. 基础知识 此部分描述了如何使用 LAMMPS 为用户和开发人员执行各种任务。术语表页面还列出了 MD 术语&#xff0c;以及相应 LAMMPS 手册页的链接。 LAMMPS 源代码分发的 examples 目录中包含的示例输入脚本以及示例脚本页面上突出显示的示例输入脚本还展示了如何设置和运行各…

【前端】HTML基础(3)

文章目录 前言一、HTML基础1、表格标签1.1 基本使用1.2 合并单元格 2、列表标签2.1 无序列表2.2 有序列表2.3 自定义列表 3、 表单标签2.1 form标签2.2 input标签2.3 label标签2.4 select标签2.5 textarea标签 4、无语义标签5、HTML特殊字符 前言 这篇博客仅仅是对HTML的基本结…

有关NSA和SA及CA图解

1、NSA 2、SA 3、CA 觉得本文对您有用&#xff0c;麻烦点赞、关注、收藏&#xff0c;您的肯定是我创作的无限动力&#xff0c;谢谢&#xff01;&#xff01;&#xff01;

实验10配置 IPv4 和 IPv6 静态和 默认路由(课内实验)

上面这个是实验描述 下面是给的实验图 接下来我们跟着实验一步一步进行下去 第 1 部分&#xff1a;配置 IPv4 静态和 浮动静态默认路由配置ipv4静态路由&#xff1a;配置 IPv4静态和 浮动静态默认路由 步骤 1&#xff1a;配置一条 IPv4 静态 默认路由。在 Edge_Router 上&am…

展厅设计制作流程是怎样的

一、前期资料需求对接 首先要找公司做展厅设计就需要先准备好一系列资料&#xff0c;展厅场地CAD图纸、场地实景照片或视频&#xff08;有最好&#xff0c;没有需提供CAD图纸&#xff09;、项目预算、展厅侧重展示内容、公司介绍PPT、官网等一些公司资料。 二、出具概念方案 提…

中仕公考:三支一扶期满入编吗?

三支一扶是guo家度对基层选择人才的一种方式&#xff0c;有两年的服务期。 三支一扶两年期满后会有编制吗?具体是否能入编还要看所在地区的规定。 例如山东省、河南省规定三支一扶期满且考核合格的人员可以落实事业编制;其他地区则需要通过其他考试才能获取编制&#xff0c;…

AFG31000系列AFG31052、AFG31051 任意函数发生器

Tektronix AFG31052 任意函数发生器&#xff0c;50 MHz&#xff0c;2 通道&#xff0c;500 MS/s ​ 采用 InstaView™ 技术的 AFG31000 系列为内置波形发生应用程序、具有实时波形监测功能并采用智能用户界面的首款高性能任意波函数发生器。 验证连接 DUT 后输出波形 InstaV…

python从0开始学习(四)

目录 前言 1、算数运算符 1.1 //:整除运算符 1.2 %:取模操作 1.3 **&#xff1a;幂运算 2、赋值运算符 3、比较运算符 4、逻辑运算符 5、位运算符 5.1 &&#xff1a;按位与 5.2 |&#xff1a;按位或 5.3 ^&#xff1a;按位异或 5.4 ~&#xff1a;按位取反 5.5…

今日分享【微信小程序中一个左右摇摆的小灯泡】

1、废话少说&#xff0c;先上效果&#xff1a; 2、具体实现代码如下&#xff1a; wxml <view class"con {{off?off:}}" catchtap"close"><view class"box {{off?off:}}"><view class"box_view {{off?off:}}">…

【Node.js工程师养成计划】之express中间件与接口规范

一、Express中间件的概念与基本应用 const express require(express)// 加一个注释&#xff0c;用以说明&#xff0c;本项目代码可以任意定制更改 const app express()const PORT process.env.PORT || 3000// // 挂载路由 // app.use(/api, router)// // 挂载统一处理服务端…