System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol");
Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
System.setProperty("javax.net.ssl.keyStorePassword", "senha");
System.setProperty("javax.net.ssl.trustStoreType", "JKS");
System.setProperty("javax.net.ssl.trustStore", "C:\\certificado\\serasa.keystore");
String content = "?p=meusParametros ";
URL url = new URL("https://sitehomologa.serasa.com/Homologa/consultahttps"+content);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setDoOutput(true);
conn.setInstanceFollowRedirects(false);
conn.connect();
InputStream is = conn.getInputStream();
BufferedReader bufr = new BufferedReader( new InputStreamReader( is ) );
String linha = null;
StringBuffer content2 = new StringBuffer();
while( ( linha = bufr.readLine() ) != null )
content2.append( linha );
e da esse erro…
java.io.IOException: HTTPS hostname wrong: should be <sitehomologa.serasa.com>
at sun.net.www.protocol.https.HttpsClient.checkURLSpoofing(HttpsClient.java:490)
at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:415)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:170)
at com.sun.net.ssl.internal.www.protocol.https.HttpsURLConnectionOldImpl.connect(HttpsURLConnectionOldImpl.java:122)
at Serasa.conecta(Serasa.java:32)
at Serasa.main(Serasa.java:175)
Parece que há alguma coisa errada com a entrada de DNS ( sitehomologa.serasa.com -> 200.245.207.155 ) porque o reverse dns funciona aqui no nosso servidor de DNS, mas o DNS mesmo não funciona.