Вызов веб-сервиса по https - PullRequest
0 голосов
/ 01 марта 2011

из моего веб-приложения, я должен опубликовать некоторые данные на удаленном стороннем веб-сервисе по https. пользователям веб-приложения были предоставлены индивидуальные сертификаты для подключения к веб-службе. Веб-приложение будет работать в качестве посредника между конечными пользователями и веб-службой, поскольку в приложении есть все данные для публикации. Как это может быть достигнуто? Апплет или Java Web Start, которые можно запустить из веб-приложения. Можете ли вы, ребята, пролить немного света. Жду ваших идей, предложений.

Thankyou

1 Ответ

0 голосов
/ 01 марта 2011

Работает ли поставщик веб-услуг на другом компьютере, чем веб-приложение?

Если нет, вы можете напрямую научить веб-приложение показывать веб-сервисы, необходимые для обработки пользовательских запросов. Вы можете использовать один из протоколов WS-Security для взаимной аутентификации клиента и сервера.

Если да, работает ли поставщик веб-услуг в частной сети, которую видит веб-приложение?

Если да, вы можете использовать веб-службу непосредственно из веб-приложения после взаимной проверки подлинности пользователя в SSL для веб-приложения и отправить пользователю использованные данные.

Если нет, выполните взаимную аутентификацию пользователя в веб-приложении с помощью SSL; из веб-приложения используйте сертификат сервера для взаимной аутентификации поставщика веб-служб с одним из протоколов WS-Security.

EDIT

Чтобы работать с самозаверяющими сертификатами, разрешите апплету импортировать этот сертификат в хранилище ключей, либо в хранилище ключей JRE по умолчанию, либо в пользовательское хранилище ключей, загруженное во время выполнения (точнее, хранилище ключей, используемое для доверия сертификатам, называется TrustStore).

Вы можете создать хранилище ключей с помощью исполняемого файла keytool , предлагаемого Oracle. Как только вы научите свой апплет использовать это хранилище ключей, ваш апплет будет доверять самозаверяющему сертификату сервера.

Установите приложение TrustStore с помощью:

System.setProperty("javax.net.ssl.trustStore","path/to/clientTrustStore.key");
System.setProperty("javax.net.ssl.trustStorePassword","keystore-password-if-any");

Прочитайте эту ссылку для получения дополнительной информации о свойстве javax.net.ssl.trustStore.

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