生成含有使用者备用名称(SAN) 的 SSL 证书, 解决 Chrome 和 Okhttp HTTPS 报错
之前设置了 ipv6 DDNS, 可以从外网访问到家里 AIO 上的 http 服务器.
由于只是自己使用, 就打算使用自签名证书. 但按照网上教程生成的证书导入 Chrome 后报错 ERR_CERT_COMMON_NAME_INVALID
, 在 OkHttp 中报错Hostname xxx is not verified.
查阅资料发现是生成的证书没有 SAN 的缘故, 网上生成 SAN 自签名证书的教程很多都有问题, 最终找到一种可行的方法, 记录在此.
0x00 准备工作
新建一个文件夹, cd 到该文件夹下, 并确保 openssl
命令可用.
0x01 新建配置文件
启用 SAN 拓展的无法直接通过 cli 生成, 故使用配置文件.
新建 openssl.cnf
文件, 写入以下内容.
1 |
|
注意修改最后的 example.com 为你的域名. 其他可以不用修改.
0x02 自签名并生成证书
执行openssl req -x509 -newkey rsa:4096 -sha256 -utf8 -days 3650 -nodes -config ./openssl.cnf -keyout ./server.key -out ./server.crt
按照提示输入相关内容, 证书生成成功. 替换掉原本 https 服务器中的证书.
0x03 完成
Windows 下双击打开 crt 文件, 安装证书到 受信任的根证书颁发机构
, 发现 Chrome 连接网站已经不会报错.
打赏支持
“请我吃糖果~o(*^ω^*)o”


生成含有使用者备用名称(SAN) 的 SSL 证书, 解决 Chrome 和 Okhttp HTTPS 报错
https://blog.lyc8503.site/post/self-signed-cert-with-san/