OpenSSL生成自签证书(一、手动生成)

OpenSSL生成自签证书(一、手动生成)

1.下载OpenSSL

1.1打开OpenSSL官网“Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions”。

https://slproweb.com/products/Win32OpenSSL.html

若遇到网页加载不进去、网速慢等情况,可通过魔法加速。(你懂的)

image-20250612142156658

1.2往下滑找到下载页面

image-20250612142232882

1.3选择合适版本并下载安装

我这里是Windows11 x64系统,选择Win64 OpenSSL Light的EXE版本

image-20250612142341195

2.创建扩展配置文件

2.1新建空txt文本文件,重命名为example.ext

注:example为自己任意起的名字,不建议使用中文

img

2.2使用任意文本编辑器打开example.ext,并输入以下内容

authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, keyEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names
[alt_names]
DNS.1 = www.example.com(输入你的域名)
image-20250612142923475

填写完毕保存并关闭文件即可

也可以设置多个域名,或者泛域名

多域名:

DNS.1 = www.example1.com
DNS.2 = www.example2.com

泛域名:

DNS.1 = *.example.com

2.3也可以增加IP地址(可选)

如:

DNS.1 = www.example.com
IP.1 = 192.168.1.100 # 服务器的 IPv4 地址 
IP.2 = 2001:db8::1 # 服务器的 IPv6 地址(可选)

3.打开OpenSSL并输入如下命令生成证书

3.1打开OpenSSL

3.1.1在Windows菜单中搜索openssl,打开即可

img

3.1.2或者找到安装目录,点击start.bat

img

3.2输入如下命令

3.2.1生成根 CA 私钥

openssl genrsa -out rootCA.key 2048

注:rootCA为输出 CA 密钥文件名,可自行更改

img

3.2.2生成自签名根 CA 证书(有效期 10年,可更改)

openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 3650 -out rootCA.crt -subj "/C=CN/O=localhost host/CN=localhost host Root CA"

生成服务器证书(绑定 localhost.host)

注:

字段 含义 当前值 推荐值示例
O 证书持有组织 localhost host My Company IT
CN 证书主体标识 localhost host Root CA My Company Root CA

为了方便理解,我这里统一修改为example,即:

openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 3650 -out rootCA.crt -subj "/C=CN/O=example/CN=example Root CA"

img

3.2.3生成服务器私钥

openssl genrsa -out example.key 2048

img

3.2.4创建证书签名请求 (CSR)

openssl req -new -key example.key -out localhost.host.csr -subj "/C=CN/O=localhost host/CN=localhost.host"

同理修改为:

openssl req -new -key example.key -out example.csr -subj "/C=CN/O=example/CN=example"

img

3.2.5最后使用根 CA 签发服务器证书,看到如下输出说明成功

openssl x509 -req -in example.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out example.crt -days 3650 -sha256 -extfile example.ext

img

3.2.6找到证书文件,默认在C:\Users\用户名\目录下

img

4.导入和安装证书

4.1 Windows安装CA证书

4.1.1双击rootCA.crt,点击安装证书

image-20250612143351128 img

4.1.2选择本地计算机,并点击下一步

image-20250612143435673

4.1.3选择""将所有的证书都放入下列存储"",点击浏览

image-20250612143500994

4.1.4选择""受信任的根证书颁发机构"",点击确认

img

4.1.5点击下一步

img

4.1.6点击完成

img

4.1.7导入成功,关闭当前界面即可

img

4.1.8不同服务器有不同证书导入安装方法,但大体相同,可自行百度搜索

https://yangh9.github.io/baidu/

5.验证效果

这里因为我已经做了其他的自签域名,所以就用其他域名做效果演示了

效果对比:

因为edge机制问题,HTTPS证书校验不通过时不会自动填充账号密码

image-20250612144336466

服务器和PC配置好证书之后访问证书校验通过

img

此刻就可以自动填充账号密码了

image-20250612144133885

6.所需资源

6.1Win64OpenSSL_Light-3_5_0.exe

蓝奏云:
https://wwvh.lanzouu.com/iCE892ymyb7g
密码:6666
posted @ 2025-06-12 16:09  XiaoKe,Pan  阅读(773)  评论(0)    收藏  举报