1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Pessoal alguém pode ajudar nisto: javax.net.ssl.SSLPeerUnverifiedException: No peer certificate

Tenho aplicação que se conecta a um server SSL com um DefaultHttpClient trafegando Json. Na maioria do tempo funciona tudo certinho mas tem vezes que dá esta exception. Minha classe WebClient:

    public String post(String json) throws ClientProtocolException {
        try {
            // Declare an object httpClient -----------------------------------
            DefaultHttpClient httpClient = new DefaultHttpClient();
            HttpParams httpParameters = httpClient.getParams();

            // Set the timeout in milliseconds until a connection is established.
            // The default value is zero, that means the timeout is not used. 
            HttpConnectionParams.setConnectionTimeout(httpParameters, connectionTimeoutMillis);

            // Set the default socket timeout (SO_TIMEOUT) 
            // in milliseconds which is the timeout for waiting for data.
            // Added after crashes
            HttpConnectionParams.setSoTimeout(httpParameters, socketTimeoutMillis);

            // Create an object Post setting String Entity Json ---------------
            HttpPost post = new HttpPost(url);

            // Setting Encode UTF-8
            post.setEntity(new StringEntity(json, "UTF-8"));

            //Informing the o Content Type for response with same format -----
            post.setHeader("Accept", "application/json");
            post.setHeader("Content-type", "application/json");
            //post.setHeader("charset",Extra.HTML_ENCODING);

            //Response Object from Execute HttpClient -------------------------
            HttpResponse response = httpClient.execute(post);
            int status = response.getStatusLine().getStatusCode();

            //Converting Response to String Object ----------------------------
            if (status == HttpStatus.SC_OK) {
                String jsonDeResposta = EntityUtils.toString(response.getEntity());
                return jsonDeResposta;
            }
            else return null;

        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }

Alguém tem alguma ideia o que eu poderia estar fazendo para evitar esta exception?

  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags android https ssl exception ou faça a sua própria pergunta.