Verificar Certificado SSL Java Android en WS PHP

TeRRo90

Buenas,

A ver si podéis darme algo de luz a un problema que tengo que de momento no he podido solucionar, expongo el problema.

La idea es coger el certificado de la App que se genera en el KeyStore desde la app para que cada petición que vaya al servidor vaya firmada con ese certificado. Yo obtengo ese certificado SSL y ahora ¿Como firmo esa petición en Java?

Otro problema es imaginando nos que ya hemos firmado la petición como hago que el WebService devuelva un error si la petición no esta firmada con ese certificado. El WebService esta desarrollado en PHP.

Code de la creación de la petición en java:

		// Making HTTP request
		try {
			// defaultHttpClient
			httpClient = new DefaultHttpClient();
			HttpPost httpPost = new HttpPost(url);
			httpPost.setEntity(new UrlEncodedFormEntity(params));
			httpPost.getParams().setParameter(CoreProtocolPNames.USE_EXPECT_CONTINUE, Boolean.FALSE);
			
		HttpResponse httpResponse = httpClient.execute(httpPost);
		HttpEntity httpEntity = httpResponse.getEntity();
		is = httpEntity.getContent();

	} catch (UnsupportedEncodingException e) {
		e.printStackTrace();
	} catch (ClientProtocolException e) {
		e.printStackTrace();
	} catch (IOException e) {
		e.printStackTrace();
	}

	try {
		BufferedReader reader = new BufferedReader(new InputStreamReader(
				is, "iso-8859-1"), 8);
		StringBuilder sb = new StringBuilder();
		String line = null;
		while ((line = reader.readLine()) != null) {
			sb.append(line + "\n");
		}
		is.close();
		json = sb.toString();
		Log.e("JSON", json);
	} catch (Exception e) {
		Log.e("Buffer Error", "Error converting result " + e.toString());
	}

	// try parse the string to a JSON object
	try {
		jObj = new JSONObject(json);			
	} catch (JSONException e) {
		Log.e("JSON Parser", "Error parsing data " + e.toString());
	}

	// return JSON String
	return jObj;

Usuarios habituales

  • TeRRo90