2013-11-06 5 views
0

Может ли кто-нибудь сказать мне, почему завиток не работает с ldaps и самоподписанным сертификатом?Почему скручивание не может взаимодействовать с OpenDJ с самоподписанным сертификатом

У меня есть сервер каталогов Opendj прослушивает LDAPS порт 636 и я пытаюсь подключиться к нему с удаленного сервера с помощью локон и самостоятельно подписанный сертификат opendj в:

[корень @ MyServer] #/USR/бен/локон -v -k --cacert /tmp/opendj.cer LDAPS: // ABCD/DC = пример, DC = COM

и это сообщение об ошибке я получаю:

  • О том, чтобы соединить () к порту abcd 636 (# 0)
  • Пытается abcd .. con не подключен
  • Подключен к порту a.b.c.d (a.b.c.d) 636 (# 0)
  • LDAP local: LDAP Vendor = OpenLDAP; LDAP Version = 20423
  • LDAP местный: LDAPS: // ABCD: 636/DC = пример, DC = COM
  • LDAP местные: пытаюсь установить зашифрованное соединение
  • LDAP местные: ldap_simple_bind_s Не удается связаться с сервером LDAP
  • Закрытие соединения # 0 локон: (38) LDAP местные: ldap_simple_bind_s не удается связаться с сервером LDAP

[корень @ MyServer] #/USR/бен/локон -V
локон 7.19.7 (x86_64 -redhat-linux-gnu) libcurl/7.19.7 NSS/3.12.9.0 zlib/1.2.3 libidn/1.18 libs SH2/1.2.2 протоколы: TFTP FTP телнет ДИКТ LDAP LDAPS HTTP файл HTTPS, FTPS УПП SFTP Особенности: GSS-Обсуди IDN IPv6 Largefile NTLM SSL libz

Пожалуйста, не то, что он работает над LDAP:

[корень @myserver] #/usr/bin/curl -v ldap: // abcd/dc = пример, dc = com * О подключении() к порту abcd 389 (# 0) * Попытка abcd .. подключена * Подключено на abcd (abcd) порт 389 (# 0) * LDAP local: LDAP Vendor = OpenLDAP; LDAP Version = 20423 * LDAP local: ldap: // abcd/dc = example, dc = com * LDAP local: пытается установить соединение с открытым текстом DN: dc = пример, dc = com dc = example, dc = com

objectClass: domain 
objectClass: top 
  • соединение закрывается # 0

Спасибо, SE

ответ

0

скорее всего, это происходит потому, что слой SSL является позволяют согласовать ком mon encipher suite между клиентом и сервером. Если вы включите отладку SSL на стороне сервера или на стороне клиента, вы сможете получить более подробную информацию об ошибке. Возможно, вы захотите проверить http://ludopoitou.wordpress.com/2011/06/29/opendj-troubleshooting-ldap-ssl-connections/.

С уважением,

Лодовико

+0

Hi Ludovic, это то, что я получаю на стороне сервера: [07/Ноябрь/2013: 14: 45: 23 +0000] DISCONNECT conn = 1 reason = "I/O Error" msg = "Произошла ошибка ввода-вывода при чтении запроса от клиента: javax.net.ssl.SSLException: Получено фатальное предупреждение: bad_certificate ". Обратите внимание, что я использую тот же сертификат для подключения к тому же opendj из OpenAM, работающего внутри JBoss, и работает проверка подлинности. – user2824999

0

Большинством SSL инструментов делает попытку проверки сертификатов пэров они подключаются к. В основном они проверяют, подписан ли он авторитетом, которому они уже доверяют, и завиток не нравится что-то об одном из сертификатов. Для самоподписанных сертификатов на компьютере, к которому вы подключаетесь, эта проверка часто терпит неудачу.

Curl имеет опцию командной строки, которая может помочь, хотя, --insecure

попробовать что-то вроде этого:

url --url scp://191.168.0.99/etc/config/wireless.conf -u <username>:<password> --pass -k --insecure -s > C:\wireless.conf 

Вам нужно заменить вам URL, учетные данные и имена файлов, но параметры по существу сказать скручивать, чтобы пропустить проверку сверстников сертификата и просто принять его и использовать аутентификацию по паролю. Это полностью обходит значительную часть безопасности SSL, предназначенного для обеспечения, но я считаю, что он все еще шифрует передачу. Насколько мне известно, единственными альтернативами являются получение зависания сертификата и проверка его на исходном узле или поиск и использование корневого сертификата, который подписывал текущий исходный сертификат в форме, которая нравится завиткам.