Eu tenho que gerar um aqui na minha própria máquina ou isso é tarefa do servidor?
Estou um pouco perdido. Alguém pode me ajudar?
É. Pelo que eu tenho lido acho que é por ai mesmo.
Alguém saberia me dizer um bom tutorial para seguir?
Obrigado.
Em 30 de outubro de 2012 20:25, Ernani Joppert Pontes Martins <joppert@gmail.com> escreveu:
--Vou tentar arriscar olhando seu código inicial.Talvez vc precise gerar um KeyStore / TrustStore do zero, e adicionar no seu apk e mandar ele carregar no método load...Posso estar enganado.[]'sErnaniOn Tue, Oct 30, 2012 at 9:23 PM, Ernani Joppert Pontes Martins <joppert@gmail.com> wrote:
Problemas de certificado SSL.Seria legal dar uma lida como usar truststore e keystore antes, realmente eu nunca usei isso no Android, apenas em J2SE mesmo![]'s
ErnaniOn Tue, Oct 30, 2012 at 7:41 PM, Diego Lopes Marques da Silva <diego.lopes@dce.ufpb.br> wrote:
Está ocorrendo esse problema ai.
10-30 18:26:53.016: E/NativeCrypto(6673): Unknown error 5 during connect
10-30 18:26:53.026: E/EasyLogCore(6673): HttpRequestCore.getRequest - SSL handshake failure: I/O error during system call, Connection reset by peer
10-30 18:26:53.026: E/EasyLogCore(6673): java.io.IOException: SSL handshake failure: I/O error during system call, Connection reset by peer
10-30 18:26:53.026: E/EasyLogCore(6673): at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.nativeconnect(Native Method)
10-30 18:26:53.026: E/EasyLogCore(6673): at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:316)
10-30 18:26:53.026: E/EasyLogCore(6673): at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl$SSLInputStream.<init>(OpenSSLSocketImpl.java:520)
10-30 18:26:53.026: E/EasyLogCore(6673): at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.getInputStream(OpenSSLSocketImpl.java:461)
10-30 18:26:53.026: E/EasyLogCore(6673): at org.apache.http.impl.io.SocketInputBuffer.<init>(SocketInputBuffer.java:93)
10-30 18:26:53.026: E/EasyLogCore(6673): at org.apache.http.impl.SocketHttpClientConnection.createSessionInputBuffer(SocketHttpClientConnection.java:83)
10-30 18:26:53.026: E/EasyLogCore(6673): at org.apache.http.impl.conn.DefaultClientConnection.createSessionInputBuffer(DefaultClientConnection.java:170)
10-30 18:26:53.026: E/EasyLogCore(6673): at org.apache.http.impl.SocketHttpClientConnection.bind(SocketHttpClientConnection.java:106)
10-30 18:26:53.026: E/EasyLogCore(6673): at org.apache.http.impl.conn.DefaultClientConnection.openCompleted(DefaultClientConnection.java:129)
10-30 18:26:53.026: E/EasyLogCore(6673): at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:181)
10-30 18:26:53.026: E/EasyLogCore(6673): at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
10-30 18:26:53.026: E/EasyLogCore(6673): at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
10-30 18:26:53.026: E/EasyLogCore(6673): at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:348)
10-30 18:26:53.026: E/EasyLogCore(6673): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
10-30 18:26:53.026: E/EasyLogCore(6673): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:653)
10-30 18:26:53.026: E/EasyLogCore(6673): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:627)
10-30 18:26:53.026: E/EasyLogCore(6673): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:616)
10-30 18:26:53.026: E/EasyLogCore(6673): at br.com.avaty.easylog.core.http.HttpRequestCore.getRequest(HttpRequestCore.java:79)
10-30 18:26:53.026: E/EasyLogCore(6673): at br.com.avaty.easylog.core.Controller$1.run(Controller.java:156)
10-30 18:26:53.026: E/EasyLogCore(6673): at java.lang.Thread.run(Thread.java:1096)2012/10/30 Vinicius Maciel <vnc.maciel@gmail.com>
Que problema exatamente ? Tenta especificar melhor, aí fica mais fácil para nós ajudarmos.
Abs
Em terça-feira, 30 de outubro de 2012 16h59min56s UTC-2, Diego Lopes escreveu:--Pessoal,
Estou com problemas para enviar esses dados ao servidor.
Alguém pode me dizer aonde estou errando?
Obrigadopublic synchronized void sendEntregaThread(final Entrega entrega, final Context context) {
new Thread(new Runnable() {
@Override
public void run() {
String res = null;
try {
KeyStore trustStore = KeyStore.getInstance(KeyStore.getDefaultType());
trustStore.load(null, null);
SSLSocketFactory sf = new MySSLSocketFactory(trustStore);
sf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
HttpParams params = new BasicHttpParams();
HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);
HttpProtocolParams.setContentCharset(params, HTTP.UTF_8);
SchemeRegistry registry = new SchemeRegistry();
registry.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80));
registry.register(new Scheme("https", sf, 8080));
ClientConnectionManager ccm = new ThreadSafeClientConnManager(params, registry);
HttpClient httpClient = new DefaultHttpClient(ccm, params);
HttpPost postRequest = new HttpPost("MEU SERVIÇO DE ENTREGA AO SERVIDOR");
MultipartEntity multipartContent = new MultipartEntity();
try {
if ((entrega.getImg() != null) && (!entrega.getImg().equals(""))) {
InputStreamBody photoFis = new InputStreamBody( new FileInputStream( new File(entrega.getImg()) ), entrega.getImg() );
multipartContent.addPart("img_canhoto", photoFis);
}
} catch (FileNotFoundException e) {}
try {
if ((entrega.getVideo() != null) && (!entrega.getVideo().equals(""))) {
InputStreamBody videoFis = new InputStreamBody( new FileInputStream( new File(entrega.getVideo()) ), entrega.getVideo() );
multipartContent.addPart("video", videoFis);
}
} catch (FileNotFoundException e) {}
multipartContent.addPart("video",new StringBody(entrega.getVideo()));
multipartContent.addPart("assinatura", new StringBody(entrega.getAssinatura()));
multipartContent.addPart("foto", new StringBody(entrega.getImg()) );
multipartContent.addPart("dataEntrega",new StringBody(entrega.getDataEntrega()) );
postRequest.setEntity(multipartContent);
ResponseHandler<String> responseHandler = new BasicResponseHandler();
res = httpClient.execute(postRequest, responseHandler);
} catch (SocketException e) {
Log.e(Constants.TAG, e.getMessage(), e);
res = "ERROR";
} catch (Throwable e) {
Log.e(Constants.TAG, e.getMessage(), e);
res = "ERROR";
}
NetConnectivityListener.isSync = false;
Log.i(Constants.TAG, res);
insertEntrega(entrega, context);
}
}).start();
}
--
--