Android SSLHandshakeException:握手失败

Android SSLHandshakeException:握手失败,android,ssl,httprequest,Android,Ssl,Httprequest,或 当我试图发出第二个http请求或使用凌空截击来执行第一个http请求时,我经常遇到这个错误 我查看了这里的其他帖子,花了几个小时研究这个问题,但我没有发现任何东西 我有一个安装了CentOS的VPS,由于我不是linux用户,我通过WHM和root访问来访问它 我在域上有一个来自Verisign的SSL证书,在4.4版上出现了错误,因为我收到了升级和5.0版,但在4.1版上没有 我从Verisign搬到了Thawte,因为证书即将过期,Thawte更便宜,我希望这能解决问题,但没有。该证书不

当我试图发出第二个http请求或使用凌空截击来执行第一个http请求时,我经常遇到这个错误

我查看了这里的其他帖子,花了几个小时研究这个问题,但我没有发现任何东西

我有一个安装了CentOS的VPS,由于我不是linux用户,我通过WHM和root访问来访问它

我在域上有一个来自Verisign的SSL证书,在4.4版上出现了错误,因为我收到了升级和5.0版,但在4.1版上没有

我从Verisign搬到了Thawte,因为证书即将过期,Thawte更便宜,我希望这能解决问题,但没有。该证书不是中间证书

事实

根据证书是否正确安装。我也和Thawte谈过,他们告诉我应该没有问题

在浏览器中检查证书时,会显示连接使用TLS1.2。该连接使用AES_128_GCM进行加密和身份验证,并使用ECDHE_RSA作为密钥交换机制

openssl s_client-connect www.dappwall.com:443的部分输出为

有什么想法吗?也许我只是从服务器上删除SSL,最后使用HTTP,这与设置信任所有证书是一样的


考虑到我在应用程序的很多地方用Volley替换了AsyncTasks大约25次,我不打算创建特殊的httpclient,因为Volley使用的是内置httpclient,我不想覆盖其代码。

请检查您是否不尝试使用SSL 3.0,因为服务器不支持它。如果您不确定是否要捕获数据包并进行查看,那么使用HTTP与设置“信任所有证书”并不相同。它还使您面临被动攻击和注入攻击。我如何检查它执行数据包捕获,使用wireshark查看结果。也许会帮助你。这对我很有用:
com.android.volley.NoConnectionError: javax.net.ssl.SSLHandshakeException: Handshake failed
02-10 21:41:26.496  11524-12747/com.example.blgui3 W/System.err﹕ javax.net.ssl.SSLPeerUnverifiedException: No peer certificate
02-10 21:41:26.506  11524-12747/com.example.blgui3 W/System.err﹕ at com.android.org.conscrypt.SSLNullSession.getPeerCertificates(SSLNullSession.java:104)
02-10 21:41:26.506  11524-12747/com.example.blgui3 W/System.err﹕ at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:93)
02-10 21:41:26.506  11524-12747/com.example.blgui3 W/System.err﹕ at org.apache.http.conn.ssl.SSLSocketFactory.createSocket(SSLSocketFactory.java:388)
02-10 21:41:26.506  11524-12747/com.example.blgui3 W/System.err﹕ at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:165)
02-10 21:41:26.506  11524-12747/com.example.blgui3 W/System.err﹕ at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
02-10 21:41:26.506  11524-12747/com.example.blgui3 W/System.err﹕ at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
02-10 21:41:26.506  11524-12747/com.example.blgui3 W/System.err﹕ at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:372)
02-10 21:41:26.506  11524-12747/com.example.blgui3 W/System.err﹕ at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:754)
  Certificate chain

 0 s:/C=CH/ST=Basel-Stadt/L=Basel/O=Dappwall GmbH/CN=www.dappwall.com
       i:/C=US/O=thawte, Inc./CN=thawte SSL CA - G2
     1 s:/C=US/O=thawte, Inc./CN=thawte SSL CA - G2
       i:/C=US/O=thawte, Inc./OU=Certification Services Division/OU=(c) 2006 thawte,
     Inc. - For authorized use only/CN=thawte Primary Root CA
     2 s:/C=US/O=thawte, Inc./OU=Certification Services Division/OU=(c) 2006 thawte,
     Inc. - For authorized use only/CN=thawte Primary Root CA
       i:/C=ZA/ST=Western Cape/L=Cape Town/O=Thawte Consulting cc/OU=Certification S
    ervices Division/CN=Thawte Premium Server CA/emailAddress=premium-server@thawte.
    com
    No client certificate CA names sent
    ---
    SSL handshake has read 4198 bytes and written 340 bytes
    ---
    New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-SHA
    Server public key is 2048 bit
    Compression: NONE
    Expansion: NONE
    SSL-Session:
        Protocol  : TLSv1
        Cipher    : DHE-RSA-AES256-SHA
        Session-ID: C1FC9A551735B29233A5AFF619CE343E0C62387DED33A2C82075F96719646289

        Session-ID-ctx:
        Master-Key: B615A4F45F2C0A2F9C37813A3F9E89448B5C54B532FF0F9C831EA38C9D1A9DA4
    B722F665DD7904A3D5ABEAA5A493AEE5
        Key-Arg   : None
        Start Time: 1423598904
        Timeout   : 300 (sec)
        Verify return code: 20 (unable to get local issuer certificate)