Проблемы с олицетворением защищенного веб-сервера WCF с использованием Glassfish / Metro - PullRequest
10 голосов
/ 21 февраля 2012

Я пытаюсь создать размещенный веб-сервис Glassfish, который олицетворяет (для тестирования разработки) размещенный веб-сервис WCF.У меня есть WSDL из размещенной службы WCF, и я могу без проблем создать службу Java и клиент Java из WSDL, размещенной в WCF.WSDL использует Mutual Certificate Security для обмена данными.

WSDL имеет встроенный сертификат X509, который соответствует сертификату хоста сервера WCF.

Когда я пытаюсь подключить свой Java-клиент к Java-сервису Glassfish, я получаю - конечно - ошибки сертификата.

Итак, какие шаги я предпринимаю, чтобы заставить это работать?Я предполагаю, что:

A) Мне нужно заменить строку сертификата X509 в WSDL содержимым самозаверяющего сертификата Glassfish 's1as', созданного при установке Glassfish.

B) Установите параметры SSL сервера Glassfish для конфигурации сети сервера, чтобы использовать хранилища сертификатов по умолчанию cacerts.jks и keystore.jks, поставляемые с установкой Glassfish.Несмотря на то, что здесь я не использую SSL, я предполагаю, что серверу необходимо знать, где находится его хранилище доверенных сертификатов и хранилище ключей для выполнения взаимной защиты сертификатов по HTTP.

C) Добавьте сертификат сервера 's1as' в хранилище доверенных сертификатов дляклиент Java.

D) Добавьте любой сертификат, который я ранее использовал для исходного клиента WCF, соединяющего хранилище ключей для сервера Glassfish.(Я не уверен в этом?)

Есть ли что-то, что я здесь упускаю?Любая помощь будет высоко ценится.

1 Ответ

1 голос
/ 02 июля 2012

Очевидно, вы используете безопасность слоя сообщений, а не SSL. Таким образом, коммуникационный уровень не зашифрован, только сами сообщения.

Это сделано в Glassfish с использованием функций WSIT. Я предлагаю взглянуть на пример безопасности взаимного сертификата в учебном пособии WSIT: http://docs.oracle.com/cd/E19316-01/820-1072/ahiem/index.html.

Обычно WSIT использует хранилища ключей в as-install / domains / domain1 / config, и вам необходимо указать их по псевдониму в дескрипторе WSIT.

Привет, Герт.

...