У меня есть публично подписанный UCC для LDAP через SSL в тестовом домене. Он содержит расширение OID для проверки подлинности сервера и отлично работает на контроллере домена 2008 R2 в том же домене. CSR был создан на сервере 2008 R2, но содержит имя субъекта, соответствующее полному доменному имени домена и SAN для FQDN DC 2008 R2 и FQDN 2003 DC.
Когда я пытаюсь подключиться из другой системы в домене через ldp.exe к DC 2008 R2 через порт 636 с SSL, он работает нормально. Однако при подключении к DC 2003 возвращается:
-----------
0x0 = ldap_unbind(ld);
ld = ldap_sslinit("testdc01", 636, 1);
Error 0 = ldap_set_option(hLdap, LDAP_OPT_PROTOCOL_VERSION, 3);
Error 81 = ldap_connect(hLdap, NULL);
Server error: <empty>
Error <0x51>: Fail to connect to afgtestdc01.
ld = ldap_sslinit("testdc01", 636, 1);
Error 81 = ldap_set_option(hLdap, LDAP_OPT_PROTOCOL_VERSION, 3);
Error 81 = ldap_connect(hLdap, NULL);
Server error: <empty>
Error <0x51>: Fail to connect to testdc01.
Я поднял Уровень ведения журнала SChannel в «Журнал информационных событий и успешных событий» - самый подробный доступный уровень. Однако единственное событие при попытке подключения - это 36867: Creating an SSL server credential
.
Избегать известная проблема, когда SChannel может выбрать неверный сертификат, Я убедился, что это единственный сертификат в личном хранилище компьютера. Я переместил промежуточный и корневой центры сертификации в соответствующие компьютерные магазины. Сертификат отображается как действительный в MMC.
Что мне не хватает?
Обновить: По рекомендации центра сертификации я создал дубликат сертификата с именем субъекта, совпадающим с полным доменным именем сервера, а не в SAN. Лучших результатов это не принесло.
Тем не мение, netstat -n -p tcp
не показывает 636 как прослушивающий, хотя порткет из другого сервера 2003 возвращает, что 636 слушает. Я изучаю, почему это может быть.
Я также пробовал протестировать с помощью ldp.exe на самом DC 2003, но все еще не могу подключиться.