В основном у меня есть приложение, которое находится на JBoss, которому необходимо подключиться к серверу LDAP. (ОС - Windows XP Pro) Я запустил JBoss с run.bat -c all -b 192.168.1.1.
У меня нет проблем с подключением к серверу LDAP без SSL. Проблема возникает только тогда, когда сервер LDAP настроен с использованием SSL, у меня проблемы с подключением к серверу LDAP. Ниже приводится сообщение об ошибке.
javax.naming.CommunicationException: простая привязка не удалась: 192.168.1.100:636 [Корневое исключение - javax.net.ssl.SSLException: java.lang.RuntimeException: Неожиданная ошибка: java.security.InvalidAlgorithmParameterException: параметр trustAnchors должен быть непустым ]
У меня есть google по настройке JBoss и LDAP, и я наткнулся на http://docs.jboss.org/jbportal/v2.6.2/referenceGuide/html/ldap.html . Мне действительно нужен портал JBoss для установки с LDAP ??
Может ли кто-нибудь помочь мне с этим ?? Я упускаю какую-либо конфигурацию на JBoss ??
Любой совет будет очень признателен. Спасибо заранее.
Кевин
Я думаю, вам нужно импортировать доверенный корневой сертификат (возможно, любые промежуточные сертификаты) в хранилище ключей Java, которое использует JBoss. (При работе в Linux, единственное место, где я запускал JBoss, он использует Tomcat для запуска JBoss в нем).
Я не уверен, где будет хранилище ключей Java по умолчанию для Tomcat. Ты можешь использовать keytool
из любой установки Java JDK и импортировать таким образом доверенный корень. Пароль хранилища ключей должен быть «по умолчанию», поскольку в доверенных корневых открытых ключах нет ничего секретного.
Пример синтаксиса Keytool может быть следующим:
keytool -importcert -keystore Path/to/store -storepass Password (Usually default or changeit) -alias Something -file FileWithPublicKey
Легкий способ получить доверенный корень - использовать тот же сертификат для интерфейса HTTP. Но я думаю, что IE позволит вам попробовать ldaps: // serverIP /, а затем в значке с замком вы увидите сведения о сертификате.
Есть вкладка для цепочки сертификации. Верхний элемент - это центр сертификации, подписавший этот сертификат (он же корень, которому мы должны доверять, чтобы сделать его надежным корнем).
Если всего этого многовато, то вот забавный трюк! Получите браузер LDAP на базе Java 600K под названием LBE и удалите локальный файл lbecacert
затем запустите браузер LDAP, создайте конфигурацию для вашего сервера LDAP с включенным SSL, и при первом подключении он получит доверенный корень, предлагая вам доверять ему один раз, всегда или никогда. Выберите Всегда и выйдите.
Только что созданный файл lbecacert теперь имеет только один доверенный корень. Милый а? Я использую это, когда мне лень, и он отлично работает.
Теперь, где должны быть cacerts Tomcat? Что ж, может быть достаточно в вашей установке JVM, lib / security либо добавить доверенный корень в cacerts, либо заменить этот файл этим (что не лучший вариант, так как вам могут понадобиться некоторые из этих доверенных корней по умолчанию ).