已移动SSL证书-正在获取java.security.cer.CertPathValidator异常

已移动SSL证书-正在获取java.security.cer.CertPathValidator异常,java,android,ssl,Java,Android,Ssl,我最近将我的后端(rails)移到了Digital Ocean。我在那里安装了我的ssl证书(由CA签署),浏览器可以识别并在web应用程序中相应显示 我去和我的Android客户端做了一些工作,但却从截击中得到了这个例外: 10-06 16:57:20.448: D/Error.Response(10668): com.android.volley.NoConnectionError: javax.net.ssl.SSLHandshakeException: java.security.cer

我最近将我的后端(rails)移到了Digital Ocean。我在那里安装了我的ssl证书(由CA签署),浏览器可以识别并在web应用程序中相应显示

我去和我的Android客户端做了一些工作,但却从截击中得到了这个例外:

10-06 16:57:20.448: D/Error.Response(10668): com.android.volley.NoConnectionError: javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.

我不知道该怎么办。当我在Heroku安装证书时,最初我没有看到这一点——只是在移动证书之后。我如何解决这一问题?

如果它在应用程序中不起作用,但在浏览器中起作用,则通常会出现问题,即站点使用服务器名称指示(SNI)在单个IP地址上拥有多个证书。所有现代浏览器都支持这一点,但Android附带的旧Apache HTTP客户端不支持这一点


有关详细信息,请参阅或。

此错误是因为我在服务器上安装的证书是没有链的主证书。我将次要证书和主要证书连接到一个文件中,安装在服务器上,Android接受SSL连接


我看到的很多资源都谈到编写自定义信任管理器等。我会尝试先测试您的证书链,然后再进行其他一些操作。

这并不是我的问题。实际上,我的与Android无关,但答案就在于这个错误。证书链不完整。我必须将中间证书和主证书连接到一个文件中,这就解决了这个问题。