Клиент Java не может получить доступ к веб-сервису по протоколу SSL через HTTPS - PullRequest
0 голосов
/ 08 апреля 2011

У нас есть простое веб-приложение на Java, работающее в WebLogic, защищенное с помощью SSL через https. Имя сервера - dev-service1. Доступ к веб-приложению с помощью браузера с https работает нормально, однако при работе с автономным клиентом Java мы получаем следующую ошибку, указывающую на то, что «dev-service1» не найден в файле client.jks.

com.sun.xml.internal.ws.client.ClientTransportException:
HTTP transport error: javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException:
No name matching dev-service1 found
   at com.sun.xml.internal.ws.transport.http.client.HttpClientTransport.getOutput(HttpClientTransport.java:121)

Нужно ли экспортировать новый файл client.jks из файла server.jks, используя keytool Java?

1 Ответ

2 голосов
/ 08 апреля 2011

Вам потребуется добавить самозаверяющий сертификат с сервера в хранилище доверенных сертификатов клиентов.

Я бы порекомендовал использовать программу InstallCert, которую можно найти в one из два места.

Быстрая заметка.Я вполне уверен, что вышеперечисленные программы НЕ будут добавлять сертификат с сервера в хранилище доверенных сертификатов по умолчанию, которое поставляется с Java.Поэтому вам придется установить в командной строке аргументы -Djavax.net.ssl.trustStore и -Djavax.net.ssl.trustStorePassword, которые вы используете для запуска клиента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...