Try to init your HttpClient as follows (worked for me) final HttpParams params = new BasicHttpParams(); HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1); HttpProtocolParams.setContentCharset(params, "UTF-8"); final SchemeRegistry registry = new SchemeRegistry(); registry.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80)); final SSLSocketFactory sslSocketFactory = SSLSocketFactory.getSocketFactory(); sslSocketFactory.setHostnameVerifier (SSLSocketFactory.BROWSER_COMPATIBLE_HOSTNAME_VERIFIER); registry.register(new Scheme("https", sslSocketFactory, 443)); final ThreadSafeClientConnManager manager = new ThreadSafeClientConnManager(params, registry); DefaultHttpClient httpclient = new DefaultHttpClient(manager, params);
On Sep 4, 6:51 am, Marco Schmitz <netzprofi.ma...@googlemail.com> wrote: > I tried to work with something I've found on the web. I think I am > quite near. But nothing is printed... > > package hyper.hyper; > > import java.io.BufferedReader; > import java.io.IOException; > import java.io.InputStreamReader; > import java.net.InetAddress; > import java.net.Socket; > import java.net.URL; > import java.net.UnknownHostException; > import java.security.KeyManagementException; > import java.security.KeyStoreException; > import java.security.NoSuchAlgorithmException; > import java.security.UnrecoverableKeyException; > import java.security.cert.X509Certificate; > > import javax.net.ssl.HostnameVerifier; > import javax.net.ssl.HttpsURLConnection; > import javax.net.ssl.SSLContext; > import javax.net.ssl.SSLSession; > import javax.net.ssl.SSLSocketFactory; > import javax.net.ssl.TrustManager; > import javax.net.ssl.X509TrustManager; > > import org.apache.log4j.Appender; > import org.apache.log4j.AppenderSkeleton; > import org.apache.log4j.Layout; > import org.apache.log4j.Level; > import org.apache.log4j.Logger; > import org.apache.log4j.PatternLayout; > import org.apache.log4j.spi.LoggingEvent; > > import android.app.Activity; > import android.os.Bundle; > import android.util.Log; > > /** > * Hyper > */ > public class Hyper extends Activity { > > private static Logger logger = Logger.getLogger(Hyper.class); > > private static final String HTTPS = "https://www.commerzbanking.de"; > > @Override > public void onCreate(Bundle savedInstanceState) { > super.onCreate(savedInstanceState); > setContentView(R.layout.main); > logger.debug("START"); > > try { > URL url = new URL(HTTPS); > HttpsURLConnection.setDefaultHostnameVerifier(new > MyHostnameVerifier()); > HttpsURLConnection.setDefaultSSLSocketFactory(new > MySSLSocketFactory()); > HttpsURLConnection connection = (HttpsURLConnection) > url.openConnection(); > connection.setDoOutput(true); > connection.setDoInput(true); > > BufferedReader br = new BufferedReader(new > InputStreamReader(connection.getInputStream())); > StringBuffer sb = new StringBuffer(); > while (br.ready()) { > sb.append(br.readLine()); > } > logger.debug("InputStream: " + sb.toString()); > > logger.debug("END"); > } catch (Exception e) { > logger.error(e); > } > } > > /** > * MyHostnameVerifier > */ > public class MyHostnameVerifier implements HostnameVerifier { > > public boolean verify(String hostname, SSLSession session) { > logger.debug("hostname: " + hostname); > logger.debug("session.getPeerHost: " + > session.getPeerHost()); > return true; > } > } > > /** > * MyTrustManager > */ > public class MyTrustManager implements X509TrustManager { > > public X509Certificate[] getAcceptedIssuers() { > return (null); > } > > public void checkClientTrusted(X509Certificate[] chain, > String authType) { > } > > public void checkServerTrusted(X509Certificate[] chain, > String authType) { > } > } > > /** > * MySSLSocketFactory > */ > public class MySSLSocketFactory extends SSLSocketFactory { > > private SSLSocketFactory factory; > > public MySSLSocketFactory() throws KeyManagementException, > NoSuchAlgorithmException, KeyStoreException, > UnrecoverableKeyException { > try { > SSLContext sc = SSLContext.getInstance("TLS"); > sc.init(null, new TrustManager[] { new > MyTrustManager() }, null); > factory = sc.getSocketFactory(); > } catch (Exception ex) { > } > } > > @Override > public Socket createSocket(Socket arg0, String arg1, int > arg2, boolean arg3) > throws IOException { > return factory.createSocket(arg0, arg1, arg2, arg3); > } > > @Override > public String[] getDefaultCipherSuites() { > return factory.getDefaultCipherSuites(); > } > > @Override > public String[] getSupportedCipherSuites() { > return factory.getSupportedCipherSuites(); > } > > @Override > public Socket createSocket(String arg0, int arg1) throws > IOException, > UnknownHostException { > return factory.createSocket(arg0, arg1); > } > > @Override > public Socket createSocket(InetAddress arg0, int arg1) throws > IOException { > return factory.createSocket(arg0, arg1); > } > > @Override > public Socket createSocket(String arg0, int arg1, InetAddress > arg2, int arg3) > throws IOException, UnknownHostException { > return factory.createSocket(arg0, arg1, arg2, arg3); > } > > @Override > public Socket createSocket(InetAddress arg0, int arg1, > InetAddress > arg2, int arg3) > throws IOException { > return factory.createSocket(arg0, arg1, arg2, arg3); > } > } > > } --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~----------~----~----~----~------~----~------~--~---