2011-11-10 54 views
1

r將交換XML文件。現在我使用普通套接字將應用程序中的文件傳遞到應用程序,但我需要使用SSL連接,所以我想使用java SSLSockets。我的問題是,我真的不知道該怎麼做。我在互聯網上搜索了很多信息,但我沒有發現任何有用的信息。任何人都可以給我一些Android-Server SSL連接的例子嗎?謝謝你的幫助。android和ssl

回答

1

您沒有足夠的搜索條件:JSSE Reference Guide。在Android中運行套接字並不是特別特別,請嘗試一下。需要注意的一點是,您不能使用指南中提到的系統屬性(如javax.net.ssl.trustStore等),您必須從代碼設置您的信任/密鑰存儲區。

0

這是一個快速和骯髒。

import org.apache.http.conn.ssl.SSLSocketFactory; 
import org.apache.http.conn.ClientConnectionManager; 
import org.apache.http.conn.scheme.PlainSocketFactory; 
import org.apache.http.conn.scheme.Scheme; 
import org.apache.http.conn.scheme.SchemeRegistry; 
import org.apache.http.impl.client.DefaultHttpClient; 
import org.apache.http.impl.conn.SingleClientConnManager; 

public class EasyHttpClient extends DefaultHttpClient { 

    /** 
    * Connection manager that uses our SSL certificate. 
    */ 
    @Override 
    protected ClientConnectionManager createClientConnectionManager() { 
    SchemeRegistry registry = new SchemeRegistry(); 

    // Register for HTTP. 
    registry.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80)); 

    // SSL Socket. 
    SSLSocketFactory sslSocketFactory = SSLSocketFactory.getSocketFactory(); 
    sslSocketFactory.setHostnameVerifier(SSLSocketFactory.BROWSER_COMPATIBLE_HOSTNAME_VERIFIER); 

    // Register for HTTPS. 
    registry.register(new Scheme("https", sslSocketFactory, 443)); 

    return new SingleClientConnManager(getParams(), registry); 
    } 
}