使用TLS作为底层协议进行https连接

时间:2015-04-15 07:42:06

标签: android ssl

在我的Android代码中,我试图连接到一个特定的网址,如

网址url =新网址(urlStr);

HttpsURLConnection connection =(HttpsURLConnection)url.openConnection();

我的应用程序试图通过某些手机中的SSL连接到网址(https)并使用TLS作为底层协议。由于目标服务器只接受TLS,因此通过SSL启动https连接的移动电话失败。

通过wireshark确认了上述行为。

有没有像我的应用只能通过TLS启动https连接的方式。

感谢。

1 个答案:

答案 0 :(得分:0)

您可以通过使用SSLContext类设置提供程序来实现此目的。

SSLContext context = SSLContext.getInstance("TLS");
    context.init(null, null, null);
    SSLSocketFactory factory = context.getSocketFactory();
    httpURLConnection.setSSLSocketFactory(factory);

但是有一个已知的issue因此它可能无法在所有设备上运行。有关SSL的更多信息,请参阅android training