Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: web service и ssl  (Прочитано 15252 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Falsehood
Молодой специалист

ru
Offline Offline
Пол: Женский
не может быть


« : 31-07-2008 15:34 » 

люди, помогите, а то скоро  :'(
тут java программистов не очень много, но вдруг кто сталкивался.

мне надо соединиться с web service-ом, защищенным ssl. мне дали сертификат в формате pfx и пароль к нему.
я сделала keystore для java и обращаюсь к сервису с помощью JAX-WS.

если я устанавливаю значением свойства javax.net.ssl.trustStore ссылку на мой keystore, при подключении вываливается такое исключение:
Код:
com.sun.xml.ws.wsdl.parser.InaccessibleWSDLException: 2 counts of InaccessibleWSDLException.

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

        at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.tryWithMex(RuntimeWSDLParser.java:172)
        at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:144)
        at com.sun.xml.ws.client.WSServiceDelegate.parseWSDL(WSServiceDelegate.java:254)
        at com.sun.xml.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:217)
        at com.sun.xml.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:174)
        at com.sun.xml.ws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:104)
        at javax.xml.ws.Service.<init>(Service.java:57)
        ...

если не устанавливаю, то используется trastStore по-умолчанию, подключение происходит, ответ от сервиса приходит, даже в ожидаемом формате, но содержание ответа - плохой клиентский сертификат.

если добавить сертификат в trastStore по-умолчанию, то приходит http ответ со статусом 403 в заголовке.

короче, сертификат не кушается ни под каким соусом...
сертификат конвертировала с помощью утилиты pkcs12import из jwsdp-2.0.

может его еще чем обработать надо, прежде чем в keystore класть? никто ничего подобного не делал?
Записан

Славная трава...
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 31-07-2008 16:31 » 

Наташ, может это чем-то поможет:
http://java.sun.com/developer/EJTechTips/2006/tt0527.html#1
http://developers.sun.com/docs/javacaps/designing/httpbindcug.gfkiu.html

Вообще, я бы рассмотрел сертификат чем-нибудь, чтобы понять какой это формат и посмотрел бы в доке, какой формат кушает Java.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Falsehood
Молодой специалист

ru
Offline Offline
Пол: Женский
не может быть


« Ответ #2 : 01-08-2008 12:31 » 

короче, пользуясь твоими ссылка и еще многими другими, сконвертировала этот дурский сертификат в другой формат. сначала экспериментировала с jks, теперь - с pkcs12. все равно ответ от сервиса - сертификат неверный.
если совсем сертификат не подпихивать, то статус ответ - 403. а если с сертификатом, то ответ 200, но сервис сертификат не принимает. отсюда напрашивается вывод, что, может правда, сертификат кривой...
в общем, подскажите теперь какой-нибудь инструмент для тестирования web сервиса. для очистки совести, надо еще чем-нибудь к нему постучаться, прежде чем писать гневные письма владельцам.
Записан

Славная трава...
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 01-08-2008 12:35 » 

Странно это, т.к. сертификат кушать должен не сервис, а SSL. Стек там такой: TCP/SSL/HTTP[/SOAP]. Может ты не на тот порт коннектишься? Попробуй на 443.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Falsehood
Молодой специалист

ru
Offline Offline
Пол: Женский
не может быть


« Ответ #4 : 01-08-2008 12:53 » 

так по https разве можно на какой-нибудь другой?
Записан

Славная трава...
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #5 : 01-08-2008 19:06 » 

Falsehood, на любой, по которому поймет сервер Улыбаюсь

Просто странно: раз ответ сервера есть, значит SSL уровень пропустил. Так какого ему сертификата надо?

А нельзя спросить разработчика или админстратора того сервера, что же таки надо с этим сетрификатом делать?
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Falsehood
Молодой специалист

ru
Offline Offline
Пол: Женский
не может быть


« Ответ #6 : 04-08-2008 11:41 » 

решили постучаться к этому сервису каким-нибудь тестовым клиентом для очистки совести. я нашла SoapUI, но он на java написан, поэтому то, что он возвращает такой же результат, как у меня, не показатель Улыбаюсь .net тестилку я нашла пока только одну бесплатную, но она ssl не поддерживает.
вот получим .net тестилкой такой же ответ, тогда будем связываться с разработчиками.
мне все говорят, что это странное поведение у сервиса наблюдается...
Записан

Славная трава...
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #7 : 04-08-2008 11:52 » new

Без разработчика и поллитры никак... Ага
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines