Boa tarde amigos!!
Estou trabalhando com URL e URLConnection. Tenho duas versões do meu aplicativo uma para Win e outra para Linux, as duas estão funcionando tranquilamente qndo a conexão é feita pelo protocolo http mas hj precisei modificar para https e deu o seguinte erro:
alguém pode me ajudar?? Não sei o q pode ser e preciso resolver isso ainda hoje!!
Valeu!!
Pesquisei e alterei a classe que estava usando de URLConnection para HttpsURLConnerction mas continua o mesmo erro.
Acho q ñ estou declarando ou atribuindo corretamente. Alguém tem algum exemplo de uso ou alguma outra idéia para me ajudar??
Valeu!!
Estou usando o seguinte código e agora ñ gera nenhum, porém ñ obtenho retorno no log.
TrustManager[] trustAllCerts = new TrustManager[]{
new X509TrustManager() {
public java.security.cert.X509Certificate[] getAcceptedIssuers() {
return null;
}
public void checkClientTrusted(java.security.cert.X509Certificate[] certs, String authType) {}
public void checkServerTrusted(java.security.cert.X509Certificate[] certs, String authType) {}
}
};
try {
SSLContext sc = SSLContext.getInstance("SSL");
sc.init(null, trustAllCerts, new java.security.SecureRandom());
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
url = new URL(protocolo + ip + ":" + porta + diretorio + impressao);
HttpsURLConnection conn = (HttpsURLConnection)url.openConnection();
InputStreamReader in1 = new InputStreamReader(conn.getInputStream(), Charset.forName("ISO-8859-1"));
BufferedReader reader = new BufferedReader(in1);
FileWriter conteudo = new FileWriter(new File(logImpressao), true);
PrintWriter saida = new PrintWriter(conteudo, true);
String linha = "";
Time time = new Time(conn.getDate());
String timeString = time.toString();
while ((linha = reader.readLine()) != null) {
saida.println(linha + "\n" + timeString);
}
reader.close();
}catch(Exception e){}
Detalhe… o servidor ñ está no proxy…
E até onde eu entendi a questão dos certificados estaria resolvida com este trecho de código:
TrustManager[] trustAllCerts = new TrustManager[]{
new X509TrustManager() {
public java.security.cert.X509Certificate[] getAcceptedIssuers() {
return null;
}
public void checkClientTrusted(java.security.cert.X509Certificate[] certs, String authType) {}
public void checkServerTrusted(java.security.cert.X509Certificate[] certs, String authType) {}
}
};
Me corrijam se eu entendi mal.
Valeu!!