gpt4 book ai didi

java - 在 Android 上找不到赛门铁克证书

转载 作者:太空宇宙 更新时间:2023-11-03 14:48:50 24 4
gpt4 key购买 nike

我有一个 Android 应用程序试图将 HTTPS 请求发送到具有 Symantec Class 3 Secure Server CA - G4 签名证书的服务器。当尝试通过 apache http 库发送请求时(我想这对其他 HTTP 客户端也是如此)会抛出一个异常,指出“没有对等证书”。对 iOS 上相同服务器的相同请求工作正常,即使我连接到 chrome 中的服务器,在我正在测试的同一台 Android 设备上运行,它说证书完全没问题。

现在我听说 Google 放弃了对某些 Symantec 证书的信任,但据我所知只有那些具有 1024 位 key 的证书。有问题的那个是用 2048 位 key 签名的。 Chrome 也接受它!

我还发现这篇文章 [1] 说我需要将完整的钥匙串(keychain)导入为 BouncyCaSTLe keystore 。这里的问题是,每个用户都将 url 指定到他们自己的服务器,管理他们自己的证书。

所以我的问题是:是否有人熟悉这个问题并且知道解决方法?我发现有无穷无尽的指南向我展示如何为请求关闭证书验证……但这不是适合我的解决方案。

[1] http://blog.antoine.li/2010/10/22/android-trusting-ssl-certificates/

最佳答案

我实际遇到的问题是服务器需要 HTTP 客户端支持 SNI(服务器名称指示)。 Android 版本的 apache http 库不支持 SNI。所以我不得不编写自己的 SSLSocketFactory 来支持它。

关于java - 在 Android 上找不到赛门铁克证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36339003/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com