Я знаю, что такие вопросы задавались много, но я попробовал много решений без посторонней помощи ...
Я получаю следующую информацию об исключении:
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.
Позвольте мне подчеркнуть, что мой код предназначен для автоматических тестов, поэтому он не повлияет на работу. По крайней мере, пока.
Как я могу временно игнорировать эту ошибку и продолжить процесс?
Спасибо!