[RESOLVIDO] Erro com URL

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!!

Eu não entendo muito de SSL, mas não basta você mudar o protocolo do endereço para https para a aplicação passar a utiliza-lo.

É necessario criar certificados digitais para dizer que seu site/sistema é autentico, tem alguma criptografia envolvida e etc.

Você vai ter que pesquisar um pouco.

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!!

Google meu amigo,

meu primeiro resultado:
Tutorial Java SSL
Java SSL

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!!

[RESOLVIDO] só para registrar…

fiz a conexão através do wget chamando pela classe Runtime.