Nosso script continua a falhar sempre que tentar ligar ao LDAP (diretório ativo) usando SSL, estou perplexo. Podemos conectar com sucesso usando o método não seguro, mas estamos tentando realizar alterações de senha que exigem SSL. Nossos snippets de script são os seguintes:
config.php
// SSL
$LDAPDOMAIN="dc=campus,dc=local";
$LDAPLOCALDOMAIN="campus.local";
$LDAPHOST='ldaps://localhost';
$LDAPPORT=636;
$ldap = ldap_connect($LDAPHOST, $LDAPPORT) or die ('<p class="message">Error connecting');
ldap_set_option($ldap, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($ldap, LDAP_OPT_REFERRALS, 0);
reset.php (usa config.php)
if ($ldap) {
$bind = @ldap_bind($ldap,$username."@".$LDAPLOCALDOMAIN,$password);
if (!($bind)) {
@ldap_close($ldap);
die ('<p class="message">Your password is incorrect, please try again
<a href=javascript:history.back()>click here</a><br>');
}
O que quer que façamos, o script "morre" em reset.php. Quando estávamos usando o LDAP regular, pelo menos poderíamos nos comunicar. Nosso código config.php foi o seguinte:
$ldap = ldap_connect($LDAPHOST) or die ('<p class="message">Error connecting to LDAP');
Agradeço qualquer ajuda e agradeço antecipadamente.
Atualizar *
Eu tentei executar o seguinte programa simples para testar meu LDAP. O SSL ainda não funciona, no entanto o LDAP regular. Isso é um problema de configuração? Meus certificados devem estar ok, eu criei um novo e inscrevi meu servidor. Eu usei um utilitário LDAP que se liga e se conecta muito bem. Apenas não PHP embora.
<?php
$ldap = ldap_connect("ldaps://localhost/");
$username="[email protected]";
$password="password";
if($bind = ldap_bind($ldap, $username,$password ))
echo "logged in";
else
echo "fail";
echo "<br/>done";
?>
Meu resultado é Fail.