正文开始
本文默认使用 Windows 环境,并以 www.test.com 作为示例域名。开始之前,请先安装 CertTool,并准备好需要绑定的域名或内网 IP。
1.创建证书
打开 CertTool,进入证书创建页面。
创建证书时,主要注意“通用名称”和“备用名称”两个字段。
通用名称主要用于标识证书,可以填写域名,也可以填写便于自己识别的名称。
备用名称 SAN 则需要填写实际访问时使用的域名和 IP 地址。现代浏览器通常会优先校验证书中的 SAN,如果访问地址没有写入备用名称,即使根证书已经导入系统,也可能出现证书名称不匹配的错误。
例如:
通用名称: www.test.com 备用名称: www.test.com test.com 127.0.0.1 192.168.1.100
如果只是本地测试,国家、地区、组织和有效期等信息可以保持默认。密钥长度可以选择 2048 位;如果需要更高的安全强度,也可以选择 4096 位。

2.导出证书文件
证书创建成功后,先点击查看详情,确认域名、备用名称和有效期没有填写错误。

确认无误后,将证书相关文件全部导出到指定文件夹。

CertTool 会根据配置生成多个证书文件,常用文件的用途如下:
certificate.pem 网站使用的证书 private_key.key 网站使用的私钥 certificate.crt 用于导入系统信任存储的根证书
其中,private_key.key 属于敏感文件,不要上传到公开仓库,也不要通过不安全的方式发送给其他人。

3.导入 Windows 根证书
按下 Win + R,打开运行窗口,输入:
certlm.msc
这里要注意,本文使用的是本地计算机证书管理器 certlm.msc,不是当前用户证书管理器 certmgr.msc。
打开证书管理器后,找到:
受信任的根证书颁发机构 └── 证书
在“证书”上点击鼠标右键,选择:
所有任务 -> 导入
然后选择 CertTool 导出的 certificate.crt 文件。导入向导中的证书存储位置请选择:
将所有的证书都放入下列存储 受信任的根证书颁发机构



导入完成后,Windows 会信任由该根证书签发的本地证书。部分操作需要管理员权限,建议使用“以管理员身份运行”打开证书管理器。
4.在宝塔中配置网站 SSL
下面以宝塔面板为例,将生成的证书配置到 Nginx 或 Apache。
进入网站管理页面,打开:
SSL -> 其他证书
将导出的文件内容分别复制到对应输入框:
证书(PEM格式): certificate.pem 密钥(KEY): private_key.key

保存证书后,重启当前网站使用的 Nginx 或 Apache 服务。
本地测试时,建议暂时关闭宝塔中的“强制 HTTPS”选项。强制跳转会把 HTTP 自动重定向到 HTTPS,如果证书、域名解析或站点配置还没有完成,可能造成循环跳转或无法访问。
接下来修改 Hosts 文件,将域名指向正确的服务器地址。
如果网站运行在本机,可以填写:
127.0.0.1 www.test.com
如果网站部署在局域网服务器,则填写服务器的内网 IP:
192.168.1.100 www.test.com
Windows Hosts 文件位置为:
C:\Windows\System32\drivers\etc\hosts
也可以直接使用 CertTool 内置的 Hosts 编辑器进行修改。保存后,在浏览器中访问:
https://www.test.com
5.浏览器无法访问时的处理方法
如果系统已经导入根证书,但 Edge 仍然提示证书错误,可以按照下面的顺序排查。
首先确认访问地址和证书中的 SAN 完全一致。例如证书中填写的是 www.test.com,访问时就不要改成 test.com 或其他没有配置的域名。
然后在 Edge 地址栏输入:
edge://settings/privacy
找到“安全性”相关设置,暂时关闭“自动 HTTPS”。不同版本的 Edge 选项名称可能略有差异,如果找不到该选项,可以跳过这一步。
接着清理浏览器保存的 HSTS 记录:
edge://net-internals/#hsts
在 Delete domain security policies 下方输入:
www.test.com
点击删除,然后找到 Flush socket pools 并执行清理。完成后彻底关闭 Edge,再重新打开。
如果仍然无法访问,可以清理 Windows DNS 缓存。按下 Win + R,输入 cmd,执行:
ipconfig /flushdns
看到缓存清理成功后,再重新访问:
https://www.test.com
6.常见问题排查
如果浏览器仍然提示证书错误,可以检查以下内容:
1. CertTool 创建证书时是否包含当前访问域名。
2. 备用名称 SAN 中是否填写了实际访问的域名或 IP。
3. Hosts 文件是否保存成功。
4. 域名是否解析到了正确的服务器地址。
5. 宝塔中的证书和私钥是否来自同一组文件。
6. Nginx 或 Apache 是否已经重启。
7. 根证书是否导入到了“受信任的根证书颁发机构”。
8. Windows 系统时间是否准确。
9. 浏览器是否仍然缓存了旧证书。
10. 宝塔中的“强制 HTTPS”是否造成了循环跳转。
通常情况下,只要根证书正确导入 Windows 的信任存储,Edge 就可以使用系统信任关系,不需要重复导入证书。
如果仍然不信任,可以打开:
edge://settings/privacy/security
部分 Edge 版本也支持:
edge://certificate-manager/
需要导入的是根证书,例如:
certificate.crt
不要把 private_key.key 私钥文件导入浏览器,也不要将私钥上传到在线检测网站。
最后,整个配置流程可以概括为:
创建证书 -> 配置域名和 SAN -> 导出证书文件 -> 导入 Windows 根证书 -> 配置宝塔 SSL -> 修改 Hosts -> 清理浏览器 HSTS 和 DNS 缓存
CertTool 生成的是自签名证书,适合本地开发、内网测试和临时 HTTPS 环境,不适合直接用于公网生产网站。正式网站仍然建议使用受公开信任的 CA 证书,并配置自动续期。
下载地址
https://github.com/gaoyia/CertTool
https://pan.baidu.com/s/1xIq7VL0FC77TN2RBhSUMFQ?pwd=y4vp 提取码: y4vp







评论抢沙发