You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

DST Root CA X3过期后调用C# API出现信任问题的排查与解决

DST Root CA X3过期导致Xamarin安卓端RestSharp调用API出现信任问题的解决记录

问题背景

我有一个运行在AWS S3 Ubuntu环境上的C# API,该API供网站、Windows应用以及部署在三星安卓设备上的Xamarin应用调用。自巴黎时间9月30日16点起,安卓端功能无法正常使用,提示信任问题,问题发生时间完美匹配DST Root CA X3过期时间,且期间我未发布任何版本,因此可以明确和该根证书过期相关,但不清楚具体诱因。

问题排查

  • SSL证书:核查了SSL证书,证书有一条基于“ISRG Root X1”的信任链,第二条链基于已过期的“DST Root CA X3”。为确保无误重新续期了证书,但信任链结构未发生变化,且Chrome访问该API无任何问题。
  • HTTPS网络正常:应用内Webview可以正常通过HTTPS访问我的网站。
  • RestSharp无法连接:当使用RestSharp访问服务端时就会出现信任问题。
    补充说明:所有安卓设备均为三星A7平板,一半处于最新系统,另一半在8月完成更新,全部搭载Android 11,理论上不受本次根证书过期影响。

临时解决方案(不适用于批量设备)

如果进入安卓设备的“受信任根证书目录”,禁用“Digital Signature Trust Co. - DST Root CA X3”后功能即可恢复正常。但该方案需要操作约150台设备,不具备可行性。
当时尝试寻找的两个优化方向:

  • 是否可以强制RestSharp优先使用指定证书?
  • 是否是因为当前还是9月30日,安卓识别到DST Root CA X3的过期日期为9月30日仍在使用,到次日就会自动恢复正常?

最终解决方案

执行如下操作(不确定所有步骤都是必须的):

  1. 升级certbot到最新版本,低于1.0版本的旧版certbot需要先卸载重装,可通过certbot --version核查当前版本:
sudo apt-get remove -y certbot python3-certbot-apache
sudo snap install certbot --classic
sudo ln -s /snap/bin/certbot /usr/bin/certbot
  1. 更新系统根证书:
update-ca-certificates
  1. 执行cert-sync同步Ubuntu和Mono的证书。
  2. 强制续期SSL证书,指定优先使用ISRG Root X1信任链,移除DST Root CA X3相关链:
sudo certbot renew --force-renewal --preferred-chain "ISRG Root X1"

操作完成后经SSLabs检测,旧证书对应的DST Root CA X3信任链已被移除,RestSharp可正常访问接口。

内容的提问来源于stack exchange,提问作者Toows

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 16:42:04