Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/08/2011, 17h01   #1
Nouveau Membre du Club
 
Inscription : avril 2005
Messages : 98
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 98
Points : 25
Points : 25
Par défaut Connection LDAPS, port 636, changer mot de passe active directory

Bonjour à tous,

j'essaye de mettre en place une interface web permettant à des internautes de modifier leur mot de passe LDAP.

Mon serveur LDAP est un serveur Active Directory tournant sur un Windows server 2003 r2
Mon serveur Web est un apache 2.2.14/PHP 5.3.1 tournant sur un Windows server 2003 r2

J'ai suivi ce tutoriel:
http://geekdefrance.fr/2010/08/10/tu...tory-avec-php/

De mon serveur web, j'arrive à me connecter en SSL sur le port 636 à mon serveur LDAP, via l'application "Ldap Admin Tool 5.6". Il me demande même une confirmation pour le certificat. Donc, selon moi, la connection SSL via certificat fonctionne.

Mon problème est maintenant au niveau PHP/Apache

Mon code PHP

Code :
1
2
3
4
$adConn = ldap_connect("serverName", 636) or die("Echec : la connection AD a echoue!");
ldap_set_option($adConn, LDAP_OPT_PROTOCOL_VERSION, 3);
$bind = ldap_bind($adConn, <credential>, <password>);
ldap_close($adConn);
Erreur:
Code :
ldap_bind(): Unable to bind to server: Can't contact LDAP server
Et je n'ai pas d'erreur si je me connecte au port 389 plutôt qu'au 636.

J'ai donc créé les dossiers "c:\openldap" et "c:\openldap\sysconf" à la main...
et j'ai créé le fichier "c:\openldap\sysconf\ldap.conf"

Avec la ligne
(bon ok, là on ne tient pas compte du certificat mais il parait que ça fonctionne )
mais ça ne fonctionne pas...

Y' a-t-il un moyen de vérifier que le fichier "ldap.conf" est bien pris en compte par PHP (ou Apache ??) ?

D'avance merci
hair_peace est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/08/2011, 15h17   #2
Rédacteur/Modérateur
 
Avatar de Thes32
 
Homme
Développeur Web
Inscription : décembre 2006
Messages : 2 335
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : décembre 2006
Messages : 2 335
Points : 3 774
Points : 3 774
Citation:
Envoyé par hair_peace Voir le message
(bon ok, là on ne tient pas compte du certificat mais il parait que ça fonctionne )
mais ça ne fonctionne pas...
ça fonctionne pas quand même... Peux tu indiquer le paramètre TLS_CACERT et le chemin du certificat ? voir le commentaire https://bugs.php.net/bug.php?id=18049#1044382147
__________________
Développeur | Zend Certified Engineer

Étapes Pour mieux se servir du forum:
1. Commencez par lire les cours et tutoriels ;
2. Faites une recherche;
3. Faites un post si rien trouvé dans les deux étapes précédentes en respectant les règles;

Nix>_Rien n'est plus pratique que la théorie
Thes32 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/08/2011, 16h29   #3
Nouveau Membre du Club
 
Inscription : avril 2005
Messages : 98
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 98
Points : 25
Points : 25
Tout d'abord, sorry pour le délai de réponse...

Merci Thes32 !

j'ai donc essayé en mettant
Code :
1
2
TLS_REQCERT never
TLS_CACERT C:/openldap/sysconf/certs/certnew.cer
dans C:/openldap/sysconf/ldap.conf

j'ai aussi essayé en mettant
Code :
1
2
TLS_REQCERT demand
TLS_CACERT C:/openldap/sysconf/certs/certnew.cer
mais rien n'y fait... PHP ne veut pas "binder"

Y a-t-il un moyen de vérifier que ce certificat est bien pris en compte par PHP ?

Merci
hair_peace est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/08/2011, 17h05   #4
Membre chevronné
 
Avatar de Marc3001
 
Homme
Ingénieur développement logiciels
Inscription : février 2008
Messages : 430
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : février 2008
Messages : 430
Points : 682
Points : 682
J'ai pris ça sur le manual php de ldap_connect :

Citation:
Si vous utilisez OpenLDAP 2.x.x, vous pouvez spécifier une URL au lieu d'un nom d'hôte.Pour utiliser LDAP avec SSL, compilez OpenLDAP 2.x.x avec le support SSL, configurez PHP avec SSL, et utilisez ldaps://hostname/ comme nom d'hôte.
T'as bien mis ldaps:// avant le nom de ton serveur dans la commande ldap_connect?
Marc3001 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/08/2011, 17h33   #5
Nouveau Membre du Club
 
Inscription : avril 2005
Messages : 98
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 98
Points : 25
Points : 25
Merci Marc3001

Je ne mettais pas le "ldaps://" mais, même avec, cela ne fonctionne pas...
Je vais quand même le laisser, ça ne mange pas de pain
hair_peace est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 13h56   #6
Rédacteur/Modérateur
 
Avatar de Thes32
 
Homme
Développeur Web
Inscription : décembre 2006
Messages : 2 335
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : décembre 2006
Messages : 2 335
Points : 3 774
Points : 3 774
Juste pour tester tu peux tester avec :

Code :
1
2
3
 
TLS_REQCERT never
TLS_CACERT C:\openldap\sysconf\certs\certnew.cer
on est bien d'accord que le certificat à placer est bien celui générer par Active Directory.
__________________
Développeur | Zend Certified Engineer

Étapes Pour mieux se servir du forum:
1. Commencez par lire les cours et tutoriels ;
2. Faites une recherche;
3. Faites un post si rien trouvé dans les deux étapes précédentes en respectant les règles;

Nix>_Rien n'est plus pratique que la théorie
Thes32 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/08/2011, 12h27   #7
Nouveau Membre du Club
 
Inscription : avril 2005
Messages : 98
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 98
Points : 25
Points : 25
Merci Thes32,

oui, il s'agit bien du certificat généré par l'Active Directory. Certificat que j'ai copié manuellement dans C:\openldap\sysconf\certs\

Sinon, j'ai remplacé les '/' par des '\' avec 'TLS_REQCERT never' mais ça ne fonctionne toujours pas...
hair_peace est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h42.


 
 
 
 
Partenaires

Hébergement Web