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

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

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

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

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

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

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