本地生成Https证书(Windows)

1、下载OpenSSL

如果证书需要用在IIS上面 建议安装1.1.1,不然导入证书会出现网络密码错误

 2、安装完毕后添加环境变量

C:\Program Files\OpenSSL-Win64\bin

3、查看OpenSSL版本号

D:\cert>openssl version
OpenSSL 1.1.1s  1 Nov 2022

4、比如想要生成的证书,放在 D 盘 cert 文件夹下,先 CD 到目录

C:\Users\ran>D:
D:\>cd D:\cert
D:\cert>

5、生成密钥,生成自签名证书

openssl req -newkey rsa:2048 -nodes -keyout key.pem -x509 -days 3650 -subj "/C=CN/CN=ioufev.com" -out cert.crt

🍄 输出的密钥:key.pem
🍄 输出的证书:cert.crt
🍐 证明的信息:/C=CN/CN=ioufev.com

最简单的证明信息要有
💎 C=CN,表示中国
💎 CN=ioufev.com,证书绑定域名:ioufev.com

6、将密钥和证书合并成一个 pfx 文件,并输入文件保护密码:12345678

🍄 输入的密钥:key.pem
🍄 输入的证书:cert.crt
🍏 输出的 pfx 证书:test.pfx
🍀 输出证书的名字:test,不加 -name test 的话,默认名字是 1

详细操作流程

C:\Users\ran>D:

D:\>cd D:\cert

D:\cert>openssl req -newkey rsa:2048 -nodes -keyout key.pem -x509 -days 3650 -subj "/C=CN/CN=ioufev.com" -out cert.crt
...................+...+...+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*...+..+......+...+....+.....+.+.....+......+...+.+.....................+...+...+..+......+.+..............+......+.+.........+...+......+..+...+.........+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*.......+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
..+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*..+...+..+.+...+..+.......+......+......+........+.+..+............+.............+...+......+........+...+....+.....+.+..................+.....+......+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*.....+...+......+..+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-----

D:\cert>openssl pkcs12 -export -in cert.crt -inkey key.pem -out test.pfx -name test
Enter Export Password:
Verifying - Enter Export Password:

D:\cert>
-----

D:\cert>openssl pkcs12 -export -in cert.crt -inkey key.pem -out test.pfx -name test
Enter Export Password:
Verifying - Enter Export Password:

D:\cert>

<think>我们被要求生成关于在本地生成HTTPS证书的答案,并参考了提供的引用内容。用户的问题是如何在本地生成HTTPS证书。 根据引用,我们看到了两种主要方法:使用mkcert工具(引用[1]和[3])和使用OpenSSL(引用[2]和[4])。 因此,我们可以提供两种方法的步骤,并说明它们各自的优缺点。 注意:引用[4]还提到了Tomcat的配置,但用户当前的问题只是生成证书,所以我们重点放在生成步骤,配置部分可以简要提及或放在相关问题中。 回答结构: 1. 介绍两种主要方法:mkcert(简单易用)和OpenSSL(更灵活)。 2. 分别给出两种方法的详细步骤。 3. 简要说明如何配置使用生成证书(以常见服务器为例)。 4. 生成相关问题。 注意:由于引用中提供了具体命令,我们将使用这些命令,并确保符合系统级指令(如LaTeX格式、中文等)。</think>### 如何在本地生成HTTPS证书本地开发环境中生成HTTPS证书主要有两种常用方法:使用 **mkcert工具**(推荐)或 **OpenSSL命令**。以下是详细步骤: --- #### 🔐 方法一:使用 mkcert(简单高效) 1. **安装 mkcert** 根据操作系统执行命令: ```bash # macOS/Linux brew install mkcert # Windows (需先安装Chocolatey) choco install mkcert ``` 2. **创建本地CA证书** 安装本地信任的根证书: ```bash mkcert -install ``` 此操作会在系统信任库中添加一个本地CA(如Windows证书管理器)[^1][^3]。 3. **生成域名证书** 为 `localhost` 或自定义域名生成证书(自动受浏览器信任): ```bash mkcert localhost 127.0.0.1 ::1 your-app.test ``` 生成文件:`localhost+3.pem`(证书)和 `localhost+3-key.pem`(私钥)[^1][^3]。 --- #### ⚙️ 方法二:使用 OpenSSL(手动配置) 1. **生成私钥** ```bash openssl genrsa -out name-private.key 2048 ``` 2. **创建证书签名请求(CSR)** ```bash openssl req -new -key name-private.key -out name-mycsr.csr ``` 需填写域名(如 `localhost`)和其他信息[^2]。 3. **生成自签名证书** ```bash openssl x509 -req -in name-mycsr.csr -signkey name-private.key -out name-mycert.crt -days 365 ``` 生成有效期为1年的证书[^2][^4]。 --- #### 🛠️ 配置服务器示例 以 **Tomcat** 为例: 1. 修改 `conf/server.xml`,找到HTTPS连接器配置: ```xml <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" keystoreFile="E:/path/to/your.keystore" <!-- 证书路径 --> keystorePass="your_password" <!-- 生成时设置的密码 --> /> ``` 2. 重启服务即可通过 `https://localhost:8443` 访问[^4]。 > 💡 **提示**: > - mkcert 证书**自动受浏览器信任**,无需额外配置,适合快速开发。 > - OpenSSL 证书需手动添加到系统信任库(浏览器会提示"不安全")。 --- ### 相关问题 1. 如何将自签名证书添加到系统信任库(Windows/macOS/Linux)? 2. 除了Tomcat,如何在Nginx或Apache中配置HTTPS证书? 3. mkcert和OpenSSL生成证书有何本质区别? 4. 如何为局域网内其他设备生成可信HTTPS证书? [^1]: mkcert自动安装本地信任的根证书,简化HTTPS配置 [^2]: OpenSSL通过命令行生成私钥和自签名证书 [^3]: mkcert支持多域名证书且无需手动信任 [^4]: Tomcat需在server.xml中指定证书路径和密码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值