HTTPS and self-signed certificate issue
<p>I have to use HTTPS for sending POST requests to a server (using a self-signed certificate). This is how I do it:</p>

<pre><code>HttpClient httpClient = getHttpClient();

for (int i = 0; i &lt; PARAMS.length &amp;&amp; !mHttpPost.isAborted(); ++i) {
    mHttpPost.setURI(URI.create(mUri + "/" + PARAMS[i].getPath()));
    mHttpPost.setEntity(new UrlEncodedFormEntity(PARAMS[i].getContents(), HTTP.UTF_8));
    HttpResponse response = httpClient.execute(mHttpPost);
    [...]
}
</code></pre>

<p>With getHttpClient() defined as follows:</p>

<pre><code>public static DefaultHttpClient getHttpClient() {

    DefaultHttpClient client = null;

    // Setting up parameters
    HttpParams params = new BasicHttpParams();
    HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);
    HttpProtocolParams.setContentCharset(params, "utf-8");
    params.setBooleanParameter("http.protocol.expect-continue", false);

    // Setting timeout
    HttpConnectionParams.setConnectionTimeout(params, TIMEOUT);
    HttpConnectionParams.setSoTimeout(params, TIMEOUT);

    // Registering schemes for both HTTP and HTTPS
    SchemeRegistry registry = new SchemeRegistry();
    registry.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80));
    final SSLSocketFactory sslSocketFactory = SSLSocketFactory.getSocketFactory();
    sslSocketFactory.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
    registry.register(new Scheme("https", sslSocketFactory, 443));

    // Creating thread safe client connection manager
    ThreadSafeClientConnManager manager = new ThreadSafeClientConnManager(params, registry);

    // Creating HTTP client
    client = new DefaultHttpClient(manager, params);

    return client;

}
</code></pre>

<p>But I get a "Not trusted server certificate" exception. I know several questions about self-signed certificates have already been posted here, but none of them worked for me...</p>

<p>Does anyone know how to do?</p>

<p>Some details: I'm working with API level 4 (Android 1.6) on emulator.</p>
