应先校准系统时间、再更新根证书、清除证书缓存、最后检查禁用时间验证策略。具体包括:开启自动时间同步并强制更新;通过windows更新或rootsupd.exe更新根证书;运行certutil命令清除url缓存和重置链缓存;检查组策略或注册表中是否禁用了证书吊销检查。

如果您在Windows系统中访问HTTPS网站时遇到证书错误提示,同时发现系统时间不准确或根证书未及时更新,则可能是由于系统时间偏差过大或受信任的根证书存储未同步导致的安全验证失败。以下是解决此问题的步骤:
一、校准Windows系统时间
Windows使用系统时间验证SSL/TLS证书的有效期,若本地时间与实际时间偏差超过数分钟,浏览器将拒绝信任有效证书。手动或自动同步网络时间可消除因时间漂移引发的证书错误。
1、右键任务栏右下角的时间显示区域,选择“调整日期和时间”。
2、在“日期和时间”设置页中,确保“自动设置时间”开关处于开启状态。
3、若开关已开启但时间仍不准,点击“立即同步”按钮,强制从time.windows.com获取标准时间。
4、若同步失败,尝试将时间服务器更改为“time.nist.gov”:在“Internet时间”设置中点击“更改设置”,勾选“与Internet时间服务器同步”,在服务器地址栏输入time.nist.gov,再点击“立即更新”。
二、更新受信任的根证书
Windows通过“受信任的根证书颁发机构”证书存储验证网站证书链完整性。若根证书列表陈旧,新签发的证书(如由Sectigo、Let's Encrypt R3等签发)可能无法被识别为可信。
1、以管理员身份运行命令提示符:在开始菜单搜索“cmd”,右键选择“以管理员身份运行”。
2、执行命令:certmgr.msc,打开证书管理控制台。
3、在左侧面板展开“受信任的根证书颁发机构”→“证书”,观察右侧是否存在大量过期或已吊销证书(状态列显示“已过期”或图标带红色叉号)。
4、关闭certmgr.msc,打开“设置”→“更新和安全”→“Windows更新”,点击“检查更新”,安装所有可用更新,包括“根证书更新”类型的质量更新。
5、若Windows更新未推送根证书包,可手动下载并安装:访问Microsoft官方根证书程序页面,下载最新rootsupd.exe工具并运行。
三、重置证书存储缓存
系统可能缓存了损坏或冲突的证书策略信息,导致证书验证逻辑异常。清除Cryptnet URL缓存及证书吊销列表(CRL)可恢复默认信任行为。
1、以管理员身份运行命令提示符。
2、依次执行以下命令:
certutil -urlcache * delete
certutil -setreg chain\ChainCacheResyncFiletime @now
3、重启计算机,使证书缓存重载生效。
4、重启后再次访问原报错网站,观察证书错误是否消失。
四、禁用临时时间验证绕过(仅调试用)
某些企业环境或测试场景下,用户可能曾启用忽略证书时间检查策略,该策略会干扰正常验证流程。需确认并清除相关组策略或注册表项。
1、按Win+R,输入gpedit.msc,打开本地组策略编辑器(专业版/企业版可用)。
2、导航至“计算机配置”→“管理模板”→“系统”→“Internet通信管理”→“Internet通信设置”,检查“关闭Windows时间服务”和“关闭证书吊销检查”两项是否被启用。
3、若任一策略为“已启用”,双击该项,选择“未配置”并确定。
4、若使用家庭版系统,打开注册表编辑器(regedit),定位到HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\SystemCertificates\ChainEngine\Config,删除名为“NoCertRevocationCheck”的DWORD值(如有)。










