OpenSSL生成自签证书(一、手动生成)
OpenSSL生成自签证书(一、手动生成)
1.下载OpenSSL
1.1打开OpenSSL官网“Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions”。
https://slproweb.com/products/Win32OpenSSL.html
若遇到网页加载不进去、网速慢等情况,可通过魔法加速。(你懂的)

1.2往下滑找到下载页面

1.3选择合适版本并下载安装
我这里是Windows11 x64系统,选择Win64 OpenSSL Light的EXE版本

2.创建扩展配置文件
2.1新建空txt文本文件,重命名为example.ext
注:example为自己任意起的名字,不建议使用中文

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(输入你的域名)
填写完毕保存并关闭文件即可
也可以设置多个域名,或者泛域名
多域名:
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,打开即可
3.1.2或者找到安装目录,点击start.bat
3.2输入如下命令
3.2.1生成根 CA 私钥
openssl genrsa -out rootCA.key 2048
注:rootCA为输出 CA 密钥文件名,可自行更改

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"

3.2.3生成服务器私钥
openssl genrsa -out example.key 2048

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"

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

3.2.6找到证书文件,默认在C:\Users\用户名\目录下
4.导入和安装证书
4.1 Windows安装CA证书
4.1.1双击rootCA.crt,点击安装证书
4.1.2选择本地计算机,并点击下一步
4.1.3选择""将所有的证书都放入下列存储"",点击浏览
4.1.4选择""受信任的根证书颁发机构"",点击确认
4.1.5点击下一步
4.1.6点击完成
4.1.7导入成功,关闭当前界面即可
4.1.8不同服务器有不同证书导入安装方法,但大体相同,可自行百度搜索
https://yangh9.github.io/baidu/
5.验证效果
这里因为我已经做了其他的自签域名,所以就用其他域名做效果演示了
效果对比:
因为edge机制问题,HTTPS证书校验不通过时不会自动填充账号密码
服务器和PC配置好证书之后访问证书校验通过

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

6.所需资源
6.1Win64OpenSSL_Light-3_5_0.exe
蓝奏云:
https://wwvh.lanzouu.com/iCE892ymyb7g
密码:6666

浙公网安备 33010602011771号