0

我已经使用 keytool 从服务器导入了自签名证书,并且一切正常。

问题是它仅在 CN 名称使用“example.corp.org”作为带有 JAX-WS 客户端的 https:url 时才有效。如果我尝试使用服务器 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 名称来连接它。

有人有什么建议吗?

谢谢亚历克西斯

4

2 回答 2

1

您应该将主题备用名称添加到证书

subjectAltName=IP:serverIp
于 2013-05-03T12:52:28.567 回答
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);
于 2013-05-03T14:11:17.763 回答