我使用改装2.2.0来上传图像到服务器(使用Java)。使用android设备(三星galaxy s6)api 24(内部版本:nrd90m.g920fxxu5eqac)发送请求时,此请求失败,并出现此错误

javax.net.ssl.SSLHandshakeException: Handshake failed

附言:我试图降低改装2.1.0,它的工作完美。

最佳答案

对我来说,解决方案是添加更多的密码,这是okhttpclient可以接受的。自api 21以来,android不推荐使用一些tls证书。这可能有助于:

ConnectionSpec spec = new
ConnectionSpec.Builder(ConnectionSpec.MODERN_TLS)
                .tlsVersions(TlsVersion.TLS_1_2)
                .cipherSuites(
CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
CipherSuite.TLS_DHE_RSA_WITH_AES_128_GCM_SHA256)
                .build();

OkHttpClient client = new OkHttpClient.Builder()
            .connectionSpecs(Collections.singletonList(spec))
            .build();

更多信息请访问:https://github.com/square/okhttp/wiki/HTTPS

10-07 20:51