JAVA - добавление верификатора имени хоста в мыльный клиент, созданный с помощью wsimport (исправление несоответствия общего имени в ошибке сертификата ssl) - PullRequest
0 голосов
/ 15 октября 2018

Я получаю следующее исключение при вызове мыльного веб-сервиса:

Имя хоста URL-адреса https не соответствует общему имени (CN) в сертификате сервера в доверенном хранилище клиента.Убедитесь, что сертификат сервера правильный, или чтобы отключить эту проверку (НЕ рекомендуется для производства), установите для свойства конфигурации TLS клиента CXF «disableCNCheck» значение true.

Это связано с тем, что URL-адрес конечной точки мыла имеет IP-адресадрес вместо имени домена в сертификате SSL.В других моих java-приложениях я обычно исправляю это с помощью этого кода;

 HostnameVerifier {
@Override
public boolean verify(String hostName,
    SSLSession session) {
  return hostName.equals("serverIP");
}

Но для этого случая я создал клиент, используя инструмент WSIMPORT в Netbeans, и не могу понятьКак ввести код верификатора имени хоста.Я пробовал использовать внутренний API Sun (хотя и не рекомендуется), как;((BindingProvider) port).getRequestContext().put(com.sun.xml.internal.ws.transport.https.client.hostname.verifier, new HostNameVerifierClass()); но это тоже не сработало.Как я могу это исправить?

...