2011-11-10 7 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); 
    } 
}