Java &引用;IllegalArgumentException:SSLSocketFactory为空";在某些设备上,而在某些设备上不是?
我正在使用StartSSL提供的免费SSL证书。我将PEM编码证书添加到我的应用程序中 我的三部安卓手机(都是jellybean)都可以使用该实现,但三星Galaxy note 1(安卓版本4.0.4)不起作用 令人惊讶的是,它没有给出SSLException,而是给出了一个非法的argumentexception 更详细的例外情况Java &引用;IllegalArgumentException:SSLSocketFactory为空";在某些设备上,而在某些设备上不是?,java,android,http,ssl,https,Java,Android,Http,Ssl,Https,我正在使用StartSSL提供的免费SSL证书。我将PEM编码证书添加到我的应用程序中 我的三部安卓手机(都是jellybean)都可以使用该实现,但三星Galaxy note 1(安卓版本4.0.4)不起作用 令人惊讶的是,它没有给出SSLException,而是给出了一个非法的argumentexception 更详细的例外情况 Caused by: java.lang.IllegalArgumentException: SSLSocketFactory is null at
Caused by: java.lang.IllegalArgumentException: SSLSocketFactory is null
at javax.net.ssl.HttpsURLConnection.setSSLSocketFactory(HttpsURLConnection.java:282)
at com.lovey.util.NetworkFunction.communicateString(NetworkFunction.java:288)
at com.lovey.util.NetworkFunction.login(NetworkFunction.java:337)
at com.lovey.classes.LoginAsync.doInBackground(LoginAsync.java:36)
at com.lovey.classes.LoginAsync.doInBackground(LoginAsync.java:1)
at android.os.AsyncTask$2.call(AsyncTask.java:264)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
我觉得一切都很好。读取资产中的证书的输入流工作正常
知道发生了什么吗?这是通过在版本低于Jellybean的android设备上使用TLSv1.2实现的
请改用此源。同时让您的服务器接受TLSv1.0连接
if(Build.VERSION.SDK_INT<16)
sslContext = SSLContext.getInstance("TLS");
else
sslContext = SSLContext.getInstance("TLSv1.2");
if(Build.VERSION.SDK\u INT