Мы получаем доступ к Active Directory через LDAP через SSL через Java на Windows Server 2003.
У нас установлен правильно аутентифицированный сертификат, однако другой сертификат появился на машине автоматически из другой службы.
Мы удалили второй сертификат один раз, и был создан новый.
Проблема в том, что когда мы пытаемся получить доступ к AD через SSL, сервер сначала представляет второй сертификат, а не сертификат, который нам нужен. Есть ли способ указать, какой сертификат использует AD?
Мне известно следующее с сайта Microsoft, но я не знаю, как это обойти:
Множественные сертификаты SSL Schannel, провайдер Microsoft SSL, выбирает первый действительный сертификат, который он находит в хранилище локального компьютера. Если в хранилище локального компьютера доступно несколько действительных сертификатов, Schannel может не выбрать правильный сертификат.
Какая это версия ОС? Я предполагаю, что вы говорите о LDAP через SSL, когда говорите «доступ к AD через SSL через Java».
Если у вас 2k8 или выше, вы можете поместить сертификат LDAP в хранилище NTDS \ MY, и это гарантирует, что LDAP выберет этот сертификат, а не сертификаты, соответствующие машине в хранилище LocalMachine \ MY.
Взгляни на http://technet.microsoft.com/en-us/library/dd941846%28WS.10%29.aspx если вам нужны подробности.