Я пытаюсь заставить клиента LDAP работать на PHP.Мой код на месте, и он работает с использованием стандартного протокола LDAP.
Однако, когда я меняю ldap: // server на ldaps: // server, он не работает.Установка режима отладки на 7 приводит к этой ошибке.Я должен добавить, что это сервер Linux, использующий openSSL.
TLS: can't connect: The Diffie Hellman prime sent by the server is not acceptable (not long enough)..
Есть ли способ обойти это?Изменять что-либо на сервере LDAP нельзя, так как у меня на нем только привилегии клиента.
РЕДАКТИРОВАТЬ: в моем LDAP.conf установлено только
TLS_REQCERT никогда
РЕДАКТИРОВАТЬ2: Вот мой код
if(isset($_POST['pass'])){
$username = $_POST['user'];
$password = $_POST['pass'];
ldap_set_option(NULL, LDAP_OPT_DEBUG_LEVEL, 7);
$ds=ldap_connect("ldaps://server.com");
ldap_set_option($ds, LDAP_OPT_REFERRALS, 0);
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3) ;
//Check LDAP server for user
if(!@ldap_bind($ds, "uid={$username},ou=people,o=site.ca,o=site", "{$password}") || strlen($password)==0){
// LDAP login was not successful
printf("Sorry, wrong username/password\n\n\n");
return;
}
$ldapSearch=@ldap_search($ds, "ou=people,o=site.ca,o=site", "uid={$_POST['user']}");
$result = @ldap_get_entries($ds, $ldapSearch);
}