Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> WSDL на HTTPS (jax-ws/wsimport), сборка сорцов java с wsdl через ssl 
V
    Опции темы
dzheika
Дата 23.6.2008, 15:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 26.3.2008

Репутация: 1
Всего: 1



Необходимо собраться с wsdl-ки (jax-ws/wsimport) с ssl-ного url'a (https://server:443/file?wsdl).
Как я понимаю, необходимо взять сертификат сервера, импортировать его в хранилище ключей и прописать опции связанные с этим хранилищем для wsimport'a, и эти же опции использовать при обращении к веб-сервисам с того кода, что собереться...
Как это сделать?

пытался скопировать сертификат из openssl s_client -connect server:port от -----BEGIN CERTIFICATE----- до -----END CERTIFICATE----- и засэйвил в файл cert

keytool -import -v -trustcacerts -alias ws-client -keystore client.keystore -file cert -keypass XXXXXX -storepass YYYYYY
keytool error: java.lang.Exception: Public keys in reply and keystore don't match

так же имеются в файлах в формате PEM сертификат ws-client'a из хранилища ключей и приватный ключ.

Это сообщение отредактировал(а) dzheika - 24.6.2008, 14:56
PM MAIL   Вверх
dzheika
Дата 24.6.2008, 19:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 26.3.2008

Репутация: 1
Всего: 1



nice, разобрался... в общем дело было в алиасе... попробовал создать пустой keystore, а далее добавить сертификат, в общем сложно объяснить, проще показать.

скриптик для забора сертификата:
Код

#!/bin/bash

echo $1 | grep ^[^:]\\+:[[:digit:]]\\+\$ &>/dev/null || { printf "usage: getServerCert.sh server:port\n"; exit 1; }

openssl s_client -connect $1 << EOT 2>/dev/null | awk 'BEGIN {iscert=0}\
/-----BEGIN CERTIFICATE-----/ {iscert=1}\
iscert == 1 {print}\
/-----END CERTIFICATE-----/ {exit}'


и последовательность команд
Код

./getServerCert.sh server:443 > server.cert
keytool -genkey -alias notusedalias -keystore truststore.jks -storepass XXXXXX -keypass NOTUSED\
    -dname "CN=Mark Smith, OU=Java, O=Sun, L=Cupertino, S=California, C=US"
keytool -delete -alias notusedalias -keystore truststore.jks -storepass XXXXXX
keytool -import -trustcacerts -alias "ws-client" -file server.cert -keystore truststore.jks -storepass XXXXXX


для удобства я забил это в do.sh:
./do.sh 
Owner: CN=*<censored>, OU=<censored>, O=<censored>, L=St.Petersburg, ST=Russian Federation, C=ru
Issuer: CN=<censored>, OU=<censored>, O=<censored>, C=US
Serial number: <censored>
Valid from: <censored> MSD <censored> until: <censored> MSK <censored>
Certificate fingerprints:
         MD5:  <censored>
         SHA1: <censored>
Trust this certificate? [no]:  yes
Certificate was added to keystore

ну и теперь следует указать опции для wsimport'a:
Код

export WSIMPORT_OPTS="-Djavax.net.ssl.keyStore=/path/truststore.jks -Djavax.net.ssl.keyStorePassword=XXXXXX -Djavax.net.ssl.trustStore=/path/truststore.jks -Djavax.net.ssl.trustStorePassword=XXXXXX"
/usr/share/jaxws-ri/bin/wsimport.sh -s ws -Xdebug -Xnocompile https://server:443/file?wsdl
parsing WSDL...
generating code...


надеюсь понятно, что wsimport я сам разместил в данном месте и каталог ws необходимо создать...

P.S.: если нужна авторизация, не забываем про ~/.metro/auth, либо сами указываем -Xauthfile.

Это сообщение отредактировал(а) dzheika - 24.6.2008, 19:40
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Работа с сетью | Следующая тема »


 




[ Время генерации скрипта: 0.0578 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.