У меня есть приложение, которое подключается к серверу LDAP с помощью SSL. Проблема, с которой я сталкиваюсь, заключается в том, что когда я запускаю его как консольное приложение, оно успешно подключается, но когда я запускаю приложение как службу Windows, оно терпит неудачу.
Есть некоторая информация, которая может помочь:
- ldap_sslinit ВСЕГДА возвращает успех
1 ldap_connect = 0 (успешно) со всеми портами LDAP, работающими как ПРИЛОЖЕНИЕ под пользователем АДМИНИСТРАТОР проверил порты 389,3268 без ssl и 636,3269 с SSL 2 ldap_connect = 0 (успешно) работает как служба с портом 389 или 3268 3 ldap_connect = 81 (Не подключен) работает AS SERVICE с портами 636 или 3269. Мы протестировали службу, работающую под администратором пользователя, а также протестировали под другим специальным пользовательским агентом со всеми разрешениями.
- Мы включили некоторые разрешения на вход в качестве службы, а другие безуспешно.
- Мы также добавили сертификаты на локальную машину и пользователю службы.
Пример теста
pLdapConnection = ldap_sslinit((PWCHAR)ldap_host.c_str(), ldap_port,1); // Secure LDAP
// allways return success
ldap_set_option(pLdapConnection, LDAP_OPT_SSL, LDAP_OPT_ON); // set SSL option
ldap_set_option(pLdapConnection, LDAP_OPT_REFERRALS, LDAP_OPT_OFF); // required
result = ldap_connect(pLdapConnection, &timeout);
результат = LDAP_SERVER_DOWN (0x51)
Я ценю любую помощь, которую вы можете мне оказать.