Too*_*ows 8 ssl android restsharp xamarin lets-encrypt
我有一个在 ubuntu 的 aws S3 上运行的 C# api。此 API 供部署在 Samsung Android 设备上的网站、Windows 应用程序和 xamarin 应用程序使用。
从今天 16:00(巴黎时间)开始,Android 部分不再工作,我遇到了“信任问题”。显然,它似乎与 DST Root CA X3 过期有关(我这边没有发布,时机很完美)。
但我不明白为什么...
我检查了我的 SSL 证书,关于 let'sencrypt 论坛,我有一个基于“ISRG Root X1”的路径。第二个是基于“DST Root CA X3”(已过期)。无论如何,我都会更新它们,但证书路径仍然相同。(chrome 联系他们没有问题)。
我可以通过应用程序内的网络视图访问互联网(通过 https 访问我的网站)
当我使用 RestSharp 联系我的服务器时,我遇到了信任问题。
我的 Android 设备都是一样的:三星 A7 选项卡,一半是最新的,另一半是 8 月份更新的,所有这些设备都带有 Android 11。所以理论上他们“不关心”此证书过期。
问题可能来自 Xamarin 或 RestSharp 吗?也许我的服务器证书?
编辑 好的一半解决了...如果我转到我的 Android 设备中的“受信任的根证书文件夹”(不知道确切的名称),如果我禁用“数字签名信任有限公司 - DST 根 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
Run Code Online (Sandbox Code Playgroud)
来自 Letsencrypt 论坛的 @dmaehler 的过程
2/ 正如@hamzaElHanna 和@ThatCoderGuy 所说,我更新了证书
update-ca-certificates
Run Code Online (Sandbox Code Playgroud)
3/我做了一个cert-sync来同步Ubuntu和Mono证书(如果它按照我的理解工作)
4/ 我续订 SSL 证书以删除 CA X3,因为它不再位于我的服务器证书中
sudo certbot renew --force-renewal --preferred-chain "ISRG Root X1"
Run Code Online (Sandbox Code Playgroud)
正如 @dmaehler 和 @jsoetewey 提议的
要检查的 SSlabs,带有旧证书的路径被删除,RestSharp 像以前一样工作。
感谢您的帮助,一切都很有用!
小智 8
如果您使用 certbot:
certbot renew --preferred-chain "ISRG Root X1" --force-renewal
Run Code Online (Sandbox Code Playgroud)
小智 1
我们\xe2\x80\x99今天遇到了类似的问题,不幸的是我们在elasticbeanstalks上使用旧版Amazon Linux。根据您的情况升级到最新的 Ubuntu 版本应该可以解决您的问题。
\n我们遇到的问题是 Amazon Linux 版本可信证书服务总是添加过期的根证书。
\nRestSharp 出现问题的原因可能是因为它\xe2\x80\x99 试图在幕后执行类似curl 请求的操作,并在发送请求时进行握手来验证 ssl 证书的有效性。它执行此操作的方式是根据服务器上受信任的证书(包括过期的证书)进行检查。
\n请参阅此处了解具有最新证书升级的 Ubuntu 版本https://ubuntu.com/security/notices/USN-5089-1
\n| 归档时间: |
|
| 查看次数: |
3779 次 |
| 最近记录: |