最可能原因是系统时间未准确同步,导致tls证书有效期验证失败;需依次启用自动时间同步、手动校准时间、清除safari证书缓存、更新macos获取最新根证书、禁用干扰性扩展与代理设置。

如果您在 Mac 连接 Wi-Fi 后访问 HTTPS 网站时频繁收到“证书已过期”或“此网站的证书无效”提示,但目标网站实际运行正常,则极大概率是 Mac 系统时间未准确同步,导致 TLS 证书有效期验证失败。以下是针对该问题的多种修复方法:
一、启用 macOS 自动日期与时间同步
macOS 依赖网络时间协议(NTP)从 Apple 时间服务器获取标准时间,若自动同步关闭或失败,本地时间偏移数分钟以上即可触发全部 HTTPS 证书验证错误。
1、点击屏幕左上角苹果图标,选择“系统设置”。
2、在左侧边栏中点击“通用”,再选择“日期与时间”。
3、开启“自动设置日期与时间”开关。
4、确认下方显示的时区与您所在地区一致;如不匹配,点击“时区”旁的“详细信息”进行手动修正。
5、返回桌面,等待系统完成一次后台同步(通常几秒内完成)。
6、打开“访达”,前往“应用程序 > 实用工具 > 钥匙串访问”,检查“系统根证书”中是否存在大量红色“已过期”标记——若无,说明时间已恢复可信范围。
二、手动校准系统时间并验证同步状态
当自动同步开关已开启但仍持续报错时,可能存在时间服务器响应延迟或本地时钟漂移严重的情况,需强制触发一次即时同步并验证结果。
1、打开“应用程序 > 实用工具 > 终端”。
2、输入以下命令并按回车:sudo sntp -sS time.apple.com。
3、系统会提示输入管理员密码,输入时屏幕无反馈,输完直接按回车。
4、观察终端输出,确认出现类似“adjust time by +0.123456 sec”的校准成功提示。
5、再次进入“系统设置 > 通用 > 日期与时间”,确认当前显示时间与网络标准时间一致(可对比 time.gov 页面)。
三、清除 Safari 证书缓存及损坏的本地证书条目
Safari 会将已验证或失败的证书临时缓存至钥匙串,若缓存中残留过期证书副本或签名链异常条目,即使系统时间已修正,仍可能复用旧缓存导致持续警告。
1、打开“访达”,前往“应用程序 > 实用工具 > 钥匙串访问”。
PyCharm 2026.2.0.1 Mac版提供 JetBrains 官方 2026.2.0.1 版本安装包,适合在macOS系统上进行 Python 项目开发、运行、调试和测试。
2、在右上角搜索框中输入问题网站的完整域名(例如 example.com 或 *.example.com)。
3、在搜索结果中筛选类型为“证书”的条目,选中所有与该域名相关的证书,右键选择“删除”。
4、在左侧钥匙串列表中,依次点击“系统”和“登录”,分别查找并删除名称含“DST Root CA X3”“Let’s Encrypt”等可能已失效的旧根证书(仅限明确识别为过期者)。
5、重启 Safari 并重新访问原网站,系统将重新下载并验证最新证书链。
四、更新 macOS 系统以获取最新受信任根证书
macOS 内置的根证书存储库随系统更新迭代,旧版本可能缺失对新颁发机构(如 ISRG、Sectigo 新根)的信任,或仍保留已被吊销的旧根(如 DST Root CA X3),造成证书链验证中断。
1、点击苹果菜单,选择“系统设置 > 通用 > 软件更新”。
2、安装所有可用更新,包括标有“安全性更新”或“根证书更新”的补丁。
3、更新完成后重启 Mac。
4、重启后再次打开“钥匙串访问”,在“系统”钥匙串中搜索“Apple Root CA”,确认存在且状态为“有效”。
五、禁用 Safari 中干扰证书验证的扩展与代理设置
部分浏览器扩展(如企业级 SSL 解密插件、广告过滤器)或系统级代理配置会主动拦截并重签 HTTPS 流量,若其内置证书过期或签名异常,将直接覆盖原始证书并触发 Safari 的无效警告。
1、在 Safari 菜单栏中选取“Safari > 设置”,切换至“扩展”标签页。
2、禁用所有第三方扩展,尤其注意名称含“SSL”“HTTPS”“Proxy”“Filter”的插件。
3、返回“系统设置 > 网络”,点选当前使用的 Wi-Fi 服务,点击右侧“详细信息”按钮。
4、在弹出窗口中选择“代理”标签页,确保“自动代理配置”和“网页代理(HTTP)”均处于关闭状态。
5、关闭所有 Safari 窗口,重新启动浏览器并测试访问。










