我使用改装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