我已经使用keytool从服务器导入了自签名证书,并且一切正常。
问题是,只有当CN名称使用带有JAX-WS客户端的https:url的“example.corp.org”时,它才有效。 如果我尝试使用服务器IP地址,我会收到错误:
Exception in thread "AWT-EventQueue-0" com.sun.xml.internal.ws.client.ClientTransportException: HTTP transport error: javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No subject alternative names present
我理解为什么我收到错误但由于各种原因我需要使用服务器IP地址连接到它而不是CN名称。
有人有任何建议吗?
由于 亚历
答案 0 :(得分:1)
您应该将主题备用名称添加到证书
subjectAltName=IP:serverIp
答案 1 :(得分:0)
有点解决它......在这里找到答案:https://forums.oracle.com/forums/thread.jspa?messageID=6411944
HostnameVerifier myhostnameverifier = new HostnameVerifier()
{
@Override
public boolean verify(String urlHostName, SSLSession session)
{
return true;
}
};
HttpsURLConnection.setDefaultHostnameVerifier(myhostnameverifier);