Я получаю странную ошибку при попытке использовать инструмент AXIS1.4 Wsdl2Java для создания клиентского кода для веб-службы, установленной на безопасном сайте IIS. Когда я запускаю инструмент, который я получаю следующее исключение SSL:Ошибка странного сертификата при попытке сгенерировать клиента веб-сервиса с защищенного сайта
javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No
name matching XXXXXXX.net found
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:174)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1
591)
at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:187)
at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:181)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(Clien
tHandshaker.java:975)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHa
ndshaker.java:123)
at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:5
16)
at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.jav
a:454)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.j
ava:884)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SS
LSocketImpl.java:1096)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketIm
pl.java:1123)
Weird является то, что эта ошибка возникает только тогда, когда я бегу WSDL2Java, и только для этого конкретного сервера. У меня есть другой веб-сервер с одинаковой настройкой, и там все прекрасно работает. Я triple проверил все keystores, и похоже, что все сертификаты CA загружены правильно. Я попытался использовать другой сервер с одинаковой настройкой и смог без проблем создать код прокси-сервера клиента. Странно, что если я использую код, сгенерированный с другого сервера, против странного сервера, все работает нормально. Только проблема Wsdl2Java вызывает у меня проблему.
@ Паскаль не очень, если это было простое несоответствие доменных имен, браузеры будут жаловаться, а код, созданный на другом сервере, тоже будет жаловаться. – Vlad
@ Vlad Java и браузеры могут не использовать один и тот же алгоритм. И, возможно, сгенерированный код содержит реализацию «HostnameVerifier», поэтому это ничего не доказывает. Вы проверили CN в сертификате? –
CN правильный. Это было первое, что я проверил. – Vlad