--- /dev/null
+package com.example.furt.myapplication;
+
+import android.app.Service;
+import android.content.Context;
+import android.content.Intent;
+import android.net.Uri;
+import android.os.IBinder;
+import android.util.Log;
+
+import java.io.BufferedReader;
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.OutputStream;
+import java.io.OutputStreamWriter;
+import java.security.KeyStore;
+import java.security.KeyStoreException;
+import java.security.NoSuchAlgorithmException;
+import java.security.cert.CertificateException;
+import java.util.Scanner;
+
+import javax.net.ssl.SSLSocket;
+import javax.net.ssl.SSLSocketFactory;
+
+public class MyService extends Service {
+
+ @Override
+ public int onStartCommand(final Intent intent, int flags, int startId)
+ {
+ final Context context=getApplicationContext();
+ /*System.setProperty("javax.net.ssl.trustStore", "mysrvkeystore");
+ //Log.e("onStartCommand",""+R.raw.mysrvkeystore);
+ System.setProperty("javax.net.ssl.trustStorePassword", "123456");
+
+
+
+ String inviotmp = intent.getStringExtra("code") + intent.getStringExtra("varInvio");
+
+ if(intent.getStringExtra("code").charAt(0)!='2')
+ inviotmp = inviotmp + intent.getStringExtra("varInvio2");
+ final String invio=inviotmp;
+ final Thread readthread;
+ readthread = new Thread(new Runnable() {
+ public void run() {
+ SSLSocketFactory sslsocketfactory = (SSLSocketFactory) SSLSocketFactory.getDefault();
+ //Socket socket = null;
+ SSLSocket socket = null;
+ try {
+ int port = 25000;
+ // socket = new Socket("10.0.0.2", port);
+ socket=(SSLSocket) sslsocketfactory.createSocket("10.0.0.2", port); //Send the message to the server
+ OutputStream os = socket.getOutputStream();
+ OutputStreamWriter osw = new OutputStreamWriter(os);
+ BufferedWriter bw = new BufferedWriter(osw);
+
+ //String number = "2";
+
+ String sendMessage = invio+"\n";
+ bw.write(sendMessage+"\n");
+ bw.flush();
+ System.out.println("Message sent to the server : " + sendMessage);
+
+ //Get the return message from the server
+ InputStream is = socket.getInputStream();
+ InputStreamReader isr = new InputStreamReader(is);
+ BufferedReader br = new BufferedReader(isr);
+ String message;
+ message = br.readLine();
+ System.out.println("Message received from the server : " + message);
+ } catch (Exception exception) {
+ exception.printStackTrace();
+ } finally {
+ //Closing the socket
+ try {
+ socket.close();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ });
+
+ readthread.start();*/
+ final Thread readthread;
+ readthread = new Thread(new Runnable() {
+ public void run() {
+ InputStream certificato = getResources().openRawResource(R.raw.keystore);
+ KeyStore trustStore = null;
+ try
+ {
+ trustStore = KeyStore.getInstance("BKS");
+ trustStore.load(certificato, "123stella".toCharArray());
+ SSLSocketFactory fs = (SSLSocketFactory) SSLSocketFactory.getDefault();
+ SSLSocket socket = (SSLSocket) fs.createSocket("10.0.0.2", 25000);
+ Log.e("", "miracolo");
+
+ InputStream inputstream = System.in;
+ InputStreamReader inputstreamreader = new InputStreamReader(inputstream);
+ BufferedReader bufferedreader = new BufferedReader(inputstreamreader);
+
+ OutputStream os = socket.getOutputStream();
+ OutputStreamWriter osw = new OutputStreamWriter(os);
+ BufferedWriter bw = new BufferedWriter(osw);
+
+ String sendMessage ="brova";
+ bw.write(sendMessage+"\n");
+ bw.flush();
+
+ System.out.println("Message sent to the server : " + sendMessage);
+ }
+ catch (KeyStoreException e)
+ {
+ e.printStackTrace();
+ }
+ catch (CertificateException e)
+ {
+ e.printStackTrace();
+ }
+ catch (NoSuchAlgorithmException e)
+ {
+ e.printStackTrace();
+ }
+ catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ });
+ readthread.start();
+ return 0;
+ }
+
+ @Override
+ public IBinder onBind(Intent intent) {
+ return null;
+ }
+}