有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何绕过SSL握手javax。网ssl。SSLHandshakeException

我得到了javax的异常。网ssl。SSLHandshakeException。我已经读过了,你可以在编码层绕过它。这就是我一直试图做的。 我添加了NoopHostnameVerifier。实例和SSLContext发送到客户端生成器,但仍会收到SSL异常

var clientBuilder  = HttpClientBuilder.create()
            .setDefaultRequestConfig(RequestConfig.custom().setCookieSpec(CookieSpecs.STANDARD).build())
            .setRedirectStrategy(new LaxRedirectStrategy())
            .setDefaultCookieStore(cookieStore)
            .setSSLHostnameVerifier(NoopHostnameVerifier.INSTANCE)
            .setSSLContext(createSSLContext());
private SSLContext createSSLContext() {
              TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() {
              @Override
                    public java.security.cert.X509Certificate[] getAcceptedIssuers() {
                      return null;
                   }

                    @Override
                    public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
                    }

                    @Override
                    public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {

                    }
           } };

       SSLContext sc = null;
        try {
           sc = SSLContext.getInstance ("SSL");
           sc.init (null, trustAllCerts, new java.security.SecureRandom ());
        } catch (KeyManagementException | NoSuchAlgorithmException e) {
           e.printStackTrace ();
        }
        return sc;
    }

共 (0) 个答案