Ошибка клиента Datapower при отправке ответов службе WCF - PullRequest
0 голосов
/ 03 апреля 2012

С клиента WCF я могу отправлять запросы в службу Datapower просто отлично. Когда источник данных пытается отправить ответ, он получает следующую ошибку:

11: 41: 55 ошибка ssl 224703 0x806000ca valcred (xx.xxxxxx.xx.xx_xxx): профиль прокси-сервера SSL 'xx.xxxxxx.xx.xx_sslpp': ошибка подключения: узел не отправил сертификат

На клиенте и сервере у нас есть совпадающие сертификаты, и у меня есть этот сертификат, связанный с соответствующим портом, а также вызов "SetCertificate", прикрепляющий сертификат к клиенту. Я не вижу никакого трафика ответа на стороне сервера через журналы трассировки. Люди на стороне datapower / client говорят, что служба не представляет сертификат после рукопожатия, но я должен это увидеть.

Любые предложения будут с благодарностью.

1 Ответ

2 голосов
/ 05 декабря 2012

Я всегда сталкивался с этой проблемой и являюсь разработчиком базы данных и веб-службы Java.

Этот сенарио предполагает, что datapower действует как сервер.

  1. Когда datapower регистрирует, что одноранговый узел не отправляет сертификат, это означает, что WCF не отправляет общедоступный сертификат, которым он поделился с datapower, по всей сети.
  2. Это можно подтвердить отправкой, включив захват пакета в datapower.
  3. Очень часто люди начинают менять публичные сертификаты, я бы посоветовал не делать этого и сосредоточиться на том, чтобы понять, ПОЧЕМУ КЛИЕНТ не видит никаких проблем.
  4. Хранилище ключей на стороне клиента, где клиентом является Java, должно содержать как открытый ключ клиента, так и открытый ключ datapower в хранилище доверенных сертификатов.
Команда

keytool для помещения сертификата сервера в хранилище ключей cacerts.jks:

keytool -import -v -trustcacerts -alias mykey -keypass changeit -file mykey.cer -keystore cacerts.jks -storepass changeit
...