Java:忽略CertificateParsingException

时间:2019-06-11 13:45:47

标签: java ssl ssl-certificate

我知道这类问题经常被问到,但是我在没有帮助的情况下尝试了许多解决方案...

我得到以下异常信息:

  

java.security.cert.CertificateParsingException:X.509证书为   不完整:必须将SubjectAlternativeName扩展标记为关键   当主题字段为空

此错误已引起服务提供商的注意,他现在致力于解决方案。

但是我需要尽快解决。

到目前为止,我已经尝试了多种解决方案,例如:

private static SSLContext createSSLContext() {
    try {
        TrustManager[] trustAllCerts = new TrustManager[]{new X509TrustManager() {
            public java.security.cert.X509Certificate[] getAcceptedIssuers() {
                return null;
            }

            public void checkClientTrusted(X509Certificate[] certs, String authType) {
            }

            public void checkServerTrusted(X509Certificate[] certs, String authType) {
            }
        }};

        SSLContext context = SSLContext.getInstance("SSL");
        context.init(null, trustAllCerts, new java.security.SecureRandom());
        HttpsURLConnection.setDefaultSSLSocketFactory(context.getSocketFactory());

        HostnameVerifier allHostsValid = new HostnameVerifier() {
            public boolean verify(String hostname, SSLSession session) {
                return true;
            }
        };

        HttpsURLConnection.setDefaultHostnameVerifier(allHostsValid);
        return context;
    } catch (Exception e) {
        LOG.error(e.getMessage(), e);
        throw new HttpClientError(e.toString());
    }
}

但是它没有帮助,我真的不确定它是否相关。 但这是忽略SSL问题的解决方案之一。

让我强调一下,我的代码用于自动化测试,因此不会影响生产。至少现在还没有。

如何暂时忽略此错误并继续进行操作?

谢谢!

0 个答案:

没有答案