как прослушивать запросы клиентов ldap на порту 636 с прослушивателем unboundid ldap

Я создал тестовую среду. У меня есть один клиент ldap, прослушиватель ldap (как прокси-сервер ldap) и сервер ldap. Клиент Ldap отправляет запросы ldap прокси-серверу ldap через порт 389 (SSL). Прокси-сервер Ldap декодирует запросы ldap и перенаправляет их на сервер ldap через порт 389. И прокси-сервер успешно пересылает ответ сервера ldap клиенту ldap.

Я создал сертификат SSL на сервере ldap. И на этот раз я проверил, что клиент ldap отправляет запросы ldap прокси-серверу ldap через порт 389 (SSL). Прокси-сервер Ldap перенаправляет запросы на сервер ldap через порт 636. И прокси-сервер успешно перенаправляет ответ сервера ldap клиенту ldap.

Но возникает проблема, когда я пытаюсь использовать SSL с обеих сторон. я имею в виду

клиент ldap (порт 636) -> прокси-сервер ldap (порт 636) -> сервер ldap (порт 636)

Мой клиент выдает исключение

javax.net.ssl.SSLHandshakeException: удаленный хост закрыл соединение во время рукопожатия

Я использую пример unboundid ldap sdk и LdapDebugger в качестве прокси-сервера ldap. Как настроить ldaplistener для приема зашифрованных запросов SSL (порт 636)?

заранее спасибо...


person user1737085    schedule 01.02.2013    source источник


Ответы (1)


Если вы используете инструмент ldap-debugger, поставляемый с LDAP SDK, в настоящее время он поддерживает SSL только для связи с внутренним сервером, но не для связи с клиентом. То есть параметр "--useSSL" применяется только для связи между отладчиком LDAP и внутренним сервером каталогов, а не между клиентом и отладчиком LDAP. Однако, поскольку это потенциально очень полезная функция, я только что внес ряд изменений, которые добавляют эту возможность, поэтому, если вы извлечете и соберете последнюю версию LDAP SDK, вы обнаружите, что инструмент ldap-debugger имеет новый аргумент "--listenUsingSSL", который управляет этим.

Обратите внимание, что независимо от того, используете ли вы инструмент ldap-debugger или создали собственный прослушиватель с помощью кода Java, вам необходимо убедиться, что у вас есть хранилище ключей Java, содержащее SSL-сертификат, который будет представлен клиентам. Если используемый вами сервер LDAP основан на Java (например, сервер каталогов в памяти, поставляемый с LDAP SDK), то, вероятно, он у вас уже есть. В противном случае вам нужно будет создать его. Если вы делаете это только для целей тестирования, самозаверяющий сертификат должен подойти (если клиент доверяет ему или настроен слепо доверять всем сертификатам).

person Neil Wilson    schedule 01.02.2013