我有一个 C# api 在带有 ubuntu 的 aws S3 上运行。
此 API 由部署在三星 Android 设备上的网站、Windows 应用程序和 xamarin 应用程序使用。
从今天 16:00(巴黎时间)开始,android 部分不再工作,我有一个“信任问题”。
显然,这似乎与 DST Root CA X3 Expiration 相关(我这边没有发布,时机很完美)。
但我不明白为什么...
我检查了我的 SSL 证书,关于 let'sencrypt 论坛,我有一个基于“ISRG Root X1”的路径。第二个是基于“DST Root CA X3”(已过期)。
无论如何,我都会更新它们,但仍然是相同的证书路径。 (chrome 联系他们也没问题)。
我可以通过应用程序内的 webview 访问互联网(在 https 中访问我的网站)
当我使用 RestSharp 联系我的服务器时,我遇到了信任问题。
我的安卓设备都是一样的:三星 A7 标签,一半是最新的,另一半是 8 月更新的,它们都是 Android 11。所以理论上他们“不关心”这个证书过期。
问题可能来自 Xamarin 或 RestSharp 吗?也许我的服务器证书?
编辑
好的解决了一半....
如果我进入我的 android 设备中的“受信任的根证书文件夹”(不知道确切的名称),如果我禁用“数字签名信任公司 - DST Root CA X3”,它又可以工作了!
不是“真正的解决方案”,因为我需要更新 150 台设备......
我心中的2个选择
编辑 2 已解决。
谢谢大家,对不起,我应该能够在发帖之前验证这个答案,但是今天晚上 stackoverflow 处于只读模式,之后我就睡着了。
我做了什么(不确定所有步骤是否都是强制性的)。
1/我更新了 certbot,因为我的 < 1(检查 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
来自 Letsencrypt 论坛的@dmaehler 的程序2/正如@hamzaElHanna 和@ThatCoderGuy 所说,我更新了证书
update-ca-certificates
3/我做了一个 cert-sync 来同步 Ubuntu 和 Mono 证书(如果它按照我的理解工作)4/我更新我的 SSL 证书以删除 CA X3,因为它不再在我的服务器证书中
sudo certbot renew --force-renewal --preferred-chain "ISRG Root X1"
正如@dmaehler 和@jsoetewey 所提议的那样SSlabs 检查,旧证书的路径被删除,RestSharp 像以前一样工作。
感谢您的帮助,一切都很有用!
最佳答案
如果您使用的是 certbot:
certbot renew --preferred-chain "ISRG Root X1" --force-renewal
关于android - 自 DST Root CA X3 Expiration 以来向我的 API 发送帖子时出现信任问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69397845/