1、java如何跳过SSL的证书验证

1、java如何跳过SSL的证书验证

连接开始前,调用trustAllHttpsCertificates()方法即可

    @Test    public void test08(){        String message = "orderToken=2016081516204941291387764" +                "&orderMoney=10.8"+"&OrderStatus=10";        try{            trustAllHttpsCertificates();            URI uri = new URI("https://br-payment.xcloudgame.com/index.php?                    s=/PagSmile/pay_callback/order_id/P-SMILE-147134625445/gid/2");            SimpleClientHttpRequestFactory schr = new SimpleClientHttpRequestFactory();            ClientHttpRequest request = schr.createRequest(uri, HttpMethod.POST);            request.getBody().write((message).getBytes());            ClientHttpResponse response = request.execute();            String resultString = new String(FileCopyUtils.copyToByteArray(response.getBody()));            System.out.println("resultString=" + resultString);        }catch (Exception e){            e.printStackTrace();        }    }    // 跳过SSL验证 ,在获取connection之前调用这个方法 trustAllHttpsCertificates    private static void trustAllHttpsCertificates() throws Exception {        javax.net.ssl.TrustManager[] trustAllCerts = new javax.net.ssl.TrustManager[1];        javax.net.ssl.TrustManager tm = new miTM();        trustAllCerts[0] = tm;        javax.net.ssl.SSLContext sc = javax.net.ssl.SSLContext                .getInstance("SSL");        sc.init(null, trustAllCerts, null);        javax.net.ssl.HttpsURLConnection.setDefaultSSLSocketFactory(sc                .getSocketFactory());    }    static class miTM implements javax.net.ssl.TrustManager,            javax.net.ssl.X509TrustManager {        public java.security.cert.X509Certificate[] getAcceptedIssuers() {            return null;        }        public boolean isServerTrusted(                java.security.cert.X509Certificate[] certs) {            return true;        }        public boolean isClientTrusted(                java.security.cert.X509Certificate[] certs) {            return true;        }        public void checkServerTrusted(                java.security.cert.X509Certificate[] certs, String authType)                throws java.security.cert.CertificateException {            return;        }        public void checkClientTrusted(                java.security.cert.X509Certificate[] certs, String authType)                throws java.security.cert.CertificateException {            return;        }    }
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部