我有同样的问题。我找到了一个链接https://code.google.com/p/android/issues/detail?id=88313我找到了一个代码:
public class MySSLSocketFactory extends SSLSocketFactory {
SSLContext sslContext = SSLContext.getInstance("TLS");
...
@Override
public Socket createSocket(Socket socket, String host, int port, boolean autoClose) throws IOException, UnknownHostException {
final SSLSocket sslSocket = (SSLSocket) sslContext.getSocketFactory().createSocket(socket, host, port, autoClose);
sslSocket.setEnabledCipherSuites(sslSocket.getSupportedCipherSuites());
return sslSocket;
}
@Override
public Socket createSocket() throws IOException {
final SSLSocket sslSocket = (SSLSocket) sslContext.getSocketFactory().createSocket();
sslSocket.setEnabledCipherSuites(sslSocket.getSupportedCipherSuites());
return sslSocket;
}
}
您可以使用MySSLSocketFactory
您提供的链接中的代码,但您需要覆盖createSocket
我上面写的两种方法。此外,这也不是您以后可能会遇到一些安全问题的最佳解决方案,因为对于连接,它可以使用一些旧的密码算法。
希望这可以帮助。