【问题标题】:No subject alternative names present add exception没有主题替代名称存在添加例外
【发布时间】:2011-09-20 18:57:50
【问题描述】:
我正在使用 Java SE6 Mustang,并且正在尝试连接到使用 SSL 的 Web 服务。我用 wsimport 创建了 Web 服务客户端,我可以忽略异常吗:
javax.net.ssl.SSLHandshakeException:java.security.cert.CertificateException:不存在主题替代名称
【问题讨论】:
标签:
java
web-services
ssl
【解决方案1】:
不,您不能忽略此异常。
如果您在创建客户端时遇到此错误,您可以下载 WSDL 并使用它执行生成。像这样的东西。但我没有检查它。
wsimport -p com.test -wsdllocation https://192.168.1.200:8443/services/ws/service?wsdl service.wsdl
但如果您在访问 Web 服务时遇到此错误,您可以禁用主机名检查。
这是一个禁用主机名检查的示例。
static{
javax.net.ssl.HttpsURLConnection.setDefaultHostnameVerifier(
new javax.net.ssl.HostnameVerifier(){
public boolean verify(String hostname,
javax.net.ssl.SSLSession sslSession) {
System.out.println("Verifying hostname: " + hostname);
return true;
}
});
}