2013-10-28 77 views
0

我正在使用StartSSL的免費SSL證書。我將PEM編碼證書添加到了我的應用程序中。某些設備上的「IllegalArgumentException:SSLSocketFactory爲null」,有些不是?

該實現與我的三個Android手機(所有果凍豆),但三星Galaxy注1(Android版本4.0.4)不起作用。

令人驚訝的是,它不會給出SSLException,而是IllegalArgumentException。詳細

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) 

異常多,我認爲一切工作正常。讀取資產證書的輸入流正在正常工作。

任何想法是怎麼回事?

回答

0

這是caused(hyperlink with solution)在Android設備上使用版本低於Jellybean的TLSv1.2。

請改用此來源。也讓你的服務器接受TLSv1.0連接。

if(Build.VERSION.SDK_INT<16) 
    sslContext = SSLContext.getInstance("TLS"); 
else 
    sslContext = SSLContext.getInstance("TLSv1.2"); 
相關問題