恒美微站
首页
关于我们
建站服务
主题模板
案例展示
资讯中心
联系我们
(已解决)macOS App Store 和 Safari 同时报“证书无效”:一次 Certificate Transparency 异常的完整排查与修复
首页
资讯中心
/
(已解决)macOS App Store 和 Safari 同时报“证书无效”:一次 Certificate Transparency 异常的完整排查与修复
(已解决)macOS App Store 和 Safari 同时报“证书无效”:一次 Certificate Transparency 异常的完整排查与修复
发布时间:2026/8/30 5:46:03
真实案例复盘macOS Ventura 13.7.8App Store / Safari / SecTrust / trustd / PKITrustSupplementals最终结论本案是 macOS 原生Certificate TransparencyCT证书透明度/ PKITrustSupplementals数据未正常更新导致trustd对部分当前 TLS 证书触发SystemTrustedCTRequired。重新启动trustd/mobileassetd并强制刷新 critical/config-data 后系统重新获取TrustedCTLogs.plist无需重装系统即恢复。一、故障现象设备此前一直可以正常访问网页、使用 App Store。2026 年 8 月 26 日开始突然出现以下问题App Store 下载/更新软件失败提示osxapps.itunes.apple.com服务器证书无效。Safari 打开百度百科等部分 HTTPS 页面提示“此连接非私人连接”。换 iPhone 热点后故障仍然存在。图 1App Store 下载软件时报“服务器的证书无效”图 2Safari 打开百度百科提示“此连接非私人连接”二、环境与第一轮排除设备为 MacBook Pro 13-inch 2017系统为 macOS Ventura 13.7.822H730。先排除最常见的 HTTPS 证书异常因素。1. 日期、时间、时区系统日期时间正确并将时间服务器恢复为 Apple 默认后重启故障不变。因此不是证书有效期因为本机时间错误而被误判。2. 网络与代理切换手机热点后故障完全一致HTTP、HTTPS、SOCKS、自动代理全部关闭网络出口和常规代理优先级明显下降。图 3传统 HTTP/HTTPS/SOCKS/自动代理均未启用3. 用户级 Trust Overridesecurity dump-trust-settings security dump-trust-settings -d两条命令均返回SecTrustSettingsCopyCertificates: No Trust Settings were found.随后新建全新本地用户测试App Store 仍报相同错误因此基本排除原用户钥匙串、Safari 用户配置和用户级证书信任设置。三、证书本身看起来并没有问题Safari 展示的百度证书链为 GlobalSign证书有效期也没有过期但系统仍提示“不符合标准”。图 4百度证书链和有效期正常但 Apple 原生信任评估仍判定异常四、关键 A/Bcurl PASSApple 原生网络栈 FAIL这是整个 Case 的突破口。curl -Iv https://baike.baidu.comcurl明确显示CAfile: /etc/ssl/cert.pem SSL certificate verify ok. HTTP/1.1 200 OK图 5curl 对百度证书验证成功说明基础 TLS/CA Chain 并未整体损坏但使用 Apple 自己的 ATS / URLSession 路径/usr/bin/nscurl --ats-diagnostics --verbose https://osxapps.itunes.apple.com结果却是Default ATS Secure Connection Result : FAIL NSURLErrorDomain Code-1200 NSURLErrorDomain Code-1202 _kCFStreamErrorCodeKey-9807图 6Apple 原生 nscurl/ATS 对 osxapps.itunes.apple.com 验证失败经验点当 Safari/App Store 报证书错误但curl显示SSL certificate verify ok时不要停止在“证书没问题”的结论上。 Safari、App Store、URLSession 还会经过 macOS 的Security.framework → SecTrust → trustd 包括 Apple 自己的 CT 等策略。五、trustd 给出了直接证据SystemTrustedCTRequired失败后立即抓取系统信任服务日志/usr/bin/log show --last 10m --style compact \ --predicate process trustd | tail -n 300日志出现Trust evaluate failure: [leaf SystemTrustedCTRequired] “ocsp2.apple.com” certificate is not standards compliant Certificate Transparency validation required for this use这说明故障已经从“普通 HTTPS 证书错误”收敛到了Certificate TransparencyCT策略评估失败。六、检查 PKITrustSupplementals关键文件缺失继续检查系统级 trustd Supplemental Assetsudo ls -laT /var/protected/trustd/SupplementalsAssets故障状态下目录中只看到OTAPKIContext.plist没有正常的TrustedCTLogs.plist等文件。系统日志同时显示trustd曾尝试获取com.apple.MobileAsset.PKITrustSupplementals但一次更新记录返回MADownloadNotConnectedToInternet (65)。需要注意该错误不能简单解释为“电脑没联网”因为手机热点、curl、mesu/gdmf 等测试都证明基础联网正常此次排查没有继续把 Error 65 的最初触发原因定死。图 7修复前仅有 OTAPKIContext刷新后 TrustedCTLogs 等 PKI Supplemental Asset 完整落盘七、修复不重装系统重新触发 PKI Supplemental Asset 更新首先确认“系统设置 → 通用 → 软件更新 → 自动更新 → 安装安全响应和系统文件”已经开启。随后重新启动相关系统服务sudo killall trustd sudo killall mobileassetd再强制触发 critical/config-data 检查sudo /usr/sbin/softwareupdate -l --background-critical终端返回Triggering a background check with forced scan (critical and config-data updates only) ...几分钟后重新检查/var/protected/trustd/SupplementalsAssets系统已自动重新生成AnalyticsSamplingRates.plist AppleCertificateAuthorities.plist OTAPKIContext.plist TrustedCTLogs.plist TrustedCTLogs_nonTLS.plist同时OTAPKIContext.plist中MobileAssetContentVersion 1012 MobileAssetLastCheckIn 2026-08-27 ...TrustedCTLogs.plist使用plutil -lint检查返回OK。八、验证nscurl 从 FAIL 变成 PASS重新执行/usr/bin/nscurl --ats-diagnostics --verbose https://osxapps.itunes.apple.com关键结果变为Default ATS Secure Connection Result : PASS图 8刷新 PKI Supplemental Asset 后Apple 原生 ATS 验证恢复 PASS九、实际测试App Store 重新下载此前失败的软件已经可以正常开始下载Safari 再打开百度百科也不再出现证书/隐私连接报错。图 9App Store 软件恢复正常下载图 10Safari 百度百科恢复正常访问十、最终 RCA已确认的直接故障链PKITrustSupplementals / CT Supplemental Asset 未正常更新或未正常落盘 ↓ trustd 缺少当前 TrustedCTLogs 数据 ↓ 部分当前 TLS 证书无法满足系统 CT Policy ↓ SystemTrustedCTRequired ↓ SecTrust 判定证书无效 ↓ Safari / App Store / URLSession 失败修复闭环重新启动 trustd/mobileassetd 并触发 critical/config-data → 新的 TrustedCTLogs 等资产成功安装 → MobileAssetContentVersion 更新到 1012 → nscurl PASS → Safari / App Store 恢复。十一、最容易走的弯路看到“证书无效”就导入根证书。本案服务端证书本身并未过期curl 也能验证成功。把网站证书设为“始终信任”。这会绕过安全策略不是正确修复方法。先重置钥匙串。新账户同样复现已经证明不是原用户配置问题。一上来就重装 macOS。本案最终没有重装通过刷新系统 PKI Supplemental Asset 即恢复。只用 curl 判断 Apple 生态 HTTPS。curl PASS 不等于 SecTrust/ATS PASS。十二、以后遇到同类故障的快速排查流程确认日期/时区 ↓ 手机热点 A/B ↓ 检查 Proxy / VPN / Profile ↓ security dump-trust-settings ↓ curl -Iv ↓ nscurl --ats-diagnostics ↓ trustd 日志 ↓ 寻找 SystemTrustedCTRequired ↓ 检查 /var/protected/trustd/SupplementalsAssets如果同时满足curl PASS nscurl FAIL trustd SystemTrustedCTRequired TrustedCTLogs 缺失/异常应优先调查PKITrustSupplementals / Certificate Transparency Asset而不是继续折腾 DNS、Safari 缓存或手工导入证书。十三、结语这个 Case 最值得记住的不是某一条命令而是三条证据之间的关系curl → SSL certificate verify ok nscurl → FAIL trustd → SystemTrustedCTRequired一旦看到这种组合就应该把排查层级从“网站证书/网络”提升到 macOS 原生 SecTrust / CT / PKI Supplemental Asset。最终通过刷新系统级 PKITrustSupplementals在不重装系统的情况下完成修复。