Java 在Android上找不到Symantec证书

Java 在Android上找不到Symantec证书,java,android,security,ssl,symantec,Java,Android,Security,Ssl,Symantec,我有一个Android应用程序试图向拥有赛门铁克3级安全服务器CA-G4签名证书的服务器发送HTTPS请求。 当试图通过ApacheHTTP库发送请求时(我想对于其他http客户机也是如此),会抛出一个声明“无对等证书”的异常。对iOS上相同服务器的相同请求工作正常,即使我连接到运行在同一台Android设备上的chrome服务器,它也表示证书非常好 现在我听说谷歌放弃了对一些赛门铁克证书的信任,但据我所知,只有那些具有1024位密钥的证书。问题中的一个是用2048位密钥签名的。Chrome也接

我有一个Android应用程序试图向拥有赛门铁克3级安全服务器CA-G4签名证书的服务器发送HTTPS请求。 当试图通过ApacheHTTP库发送请求时(我想对于其他http客户机也是如此),会抛出一个声明“无对等证书”的异常。对iOS上相同服务器的相同请求工作正常,即使我连接到运行在同一台Android设备上的chrome服务器,它也表示证书非常好

现在我听说谷歌放弃了对一些赛门铁克证书的信任,但据我所知,只有那些具有1024位密钥的证书。问题中的一个是用2048位密钥签名的。Chrome也接受它

我还发现这篇文章[1]说我需要将完整的密钥链作为BouncyCastle密钥库导入。这里的问题是,每个用户都指定自己服务器的url,管理自己的证书

所以我的问题是:有人熟悉这个问题并且知道解决方法吗?我找到了无数的指南,告诉我如何对请求进行证书验证。。。但这对我来说不是一个有效的解决方案


[1]

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