【发布时间】:2019-07-11 17:18:24
【问题描述】:
我正在尝试执行以下代码行:
public static String invokeRestService(String request) throws Exception {
try {
URL url = new URL("https://XXXXXXX:8403/v1/payment/test/req");
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.
urlConnection.setRequestMethod("POST");
urlConnection.setRequestProperty("Accept", "application/json");
urlConnection.setDoOutput(true);
OutputStreamWriter osw = new OutputStreamWriter(urlConnection.getOutputStream());
osw.write(request);
osw.flush();
osw.close();
System.out.println(urlConnection.getResponseCode());
} catch (Exception ex) {
ex.printStackTrace();
}
return null;
}
每当我尝试运行上述代码时,我都会观察到以下错误消息,它说 SSL 失败,但是当我尝试通过邮递员在没有任何授权标头的情况下访问相同的端点 URL 时,它按预期工作并按预期返回 200 响应代码.当我尝试通过 JAVA 代码访问该端点时,我遇到了这个异常。无论如何设置 SSL 显式?或如何使用系统默认 SSL?
javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException:没有主题替代名称 出现在 sun.security.ssl.Alerts.getSSLException(Alerts.java:192) 在 sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1946)
【问题讨论】:
标签: java ssl httpurlconnection