user3555472
user3555472

Reputation: 836

Android Http to Https and SSL crt

I am working on https post request. I did successfully http post request but i don't know how to change it with https SSL crt. How can I add SSL crt in project and how to convert http to https. I tried many examples but i didn't get it.

My http post request code is.. saVersion is my lib

 public class ServerCommunication implements Runnable, IServerCommunication {
 private static final String TAG = ServerCommunication.class.getSimpleName();

 private  String url;
 private  String userAgent;
 private  byte[] data;

 static
 {
        System.loadLibrary("saNative");
 }

private static void receiveBytestream(byte[] stream)
{
    saVersion.getInstance().onSecurePacketReceived(stream);
}

/**
 * Functions as a container to create other (meaningfuller) instances only
 */
public ServerCommunication()
{
    Log.d(TAG, "Note this class is deprecated");
}


private ServerCommunication(String _url, String _userAgent, byte[] _data)
{
    url = _url;
    userAgent = _userAgent;
    data = _data;
}

public void run()
{
    DefaultHttpClient httpclient = new DefaultHttpClient();


    if(url.equals(""))
    {
        Log.e(TAG, "URL is an empty string... aborting sending procedure");
        return;
    }

    // make URL     
    HttpPost httpost = new HttpPost(url);

    StringEntity se;
    try {
        se = new StringEntity(new String(data) + "\r\n");


        httpost.setEntity(se);
        httpost.setHeader("Accept", "application/json");
        httpost.setHeader("Content-Type", "application/json");


        // Get User Agent String
        httpost.setHeader("User-Agent", userAgent); // set string

    } catch (UnsupportedEncodingException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }


    try {

        HttpResponse response = httpclient.execute(httpost);


        InputStreamReader sr = new InputStreamReader(response.getEntity().getContent());    
        byte[] respContent = IOUtils.toByteArray(sr);           
        receiveBytestream(respContent); 
    } 
    catch (ClientProtocolException e) 
    {
        Log.e(TAG, "AS-Connection error: Probably Internet-Permission is not set in your manifest?");
        e.printStackTrace();

    } 
    catch (IOException e) 
    {
        Log.e(TAG, "AS-Connection error: Probably Internet-Permission is not set in your manifest?");
        e.printStackTrace();

    }
    finally
    {

    }
}    


@Override
public void sendSecurePacket(String _url, byte[] _data, String userAgent) {
    ServerCommunication sc = new ServerCommunication(_url, userAgent, _data);               
    Thread t = new Thread(sc);      
    t.start();  

}

}

Upvotes: 0

Views: 1232

Answers (1)

Hardik Joshi
Hardik Joshi

Reputation: 9507

I faced this same issue before some days, I have published into my blog. Refer it. Hope it helps you regarding same.

Upvotes: 1

Related Questions