Dans les deux cas, j'ai une erreur en retour du bind :Unable to bind to server: Can't contact LDAP server Le serveur LDAP est un AD avec un certificat correctement configuré. Il semble qu'il y ait un soucis de vérification de certificat de CA, mais je ne sais pas ou configurer cela dans wamp (ldap et openssl sont bien sûr activés). L'accès s ldap sans SSL fonctionne parfaitement.
Bon, j'ai trouvé la solution mais cela ne saute pas aux yeux. Lors du premier accès LDAP / SSL, PHP va chercher la configuration LDAP dans le fichier : C:\OpenLDAP\sysconf\ldap.conf Ce chemin doit être lié à l'endroit ou a été compilé OpenLDAP pour être utilisé par PHP/WAMP. Le fichier ldap.conf contient la définition de la politique d'authentification SSL et de vérification de certificat retenue par le serveur. Il faut donc créer ce fichier manuellement car cela n'est pas fait lors de l'installation de WAMP.
Si on ne requiert pas de vérification de certificat, il suffit de mettre dans ldap.conf TLS_REQCERT never Et tout se met à marcher en ldaps ou en tls. Par contre, avec cette approche, on ne peut pas être sûr de l'authentification serveur; Il est possible de mettre d'autre politiques de vérification de certificat. Pour plus de détail, il faut se référer au man ldap.conf de OpenLDAP. Si on veut mettre en oeuvre également l'authentification SSL cliente, il faut créer un fichier <WAMP_install_dir>/bin/apache/apache2.2.6/ldaprc Ce fichier contient quelque chose comme : TLS_CERT <PATH>/certificat_client.cert TLS_KEY <PATH>/clés_asym_client.key
et mettre dans ldap.conf TLS_REQCERT demand TLS_CACERT <PATH>/certificat_ca_server_ldap.cert
J'ai besoin de votre aide pour configurer LDAPS sur mon serveur Wamp.
Dans le message Zorg78 du 28 février il est décrit une procédure que je ne parviens pas à mettre en oeuvre
Pouvez vous m'aider ?
Où doit-on creer le fichier ldap.conf ? dans quel répertoire ? il ne comporte que les deux lignes ci-dessus ? Où doit-on installer les certificats ? Quel est ce fichier "ldaprc" dont il est fait état dans le message ? où doit-il être installé ? quel est sa structure ?
Dans des doc j'ai trouvé qu'il fallait ajouter le chemin de ldap.conf dans les variables environnement de apache (envvars). est-ce exact et comment faut-il procéder ?
l'extension LDAP est bien installé sur mon serveur et les connexion LDAP non sécurisées fonctionnent, mais je dois mettre en place des connexion sécurisées pour certaines interrogation LDAP.
Merci de votre aide.
Phil-87.85
Modifie 1 fois. Derniere modification le 17/09/2008 à 18:27 par phil-87.85.
3.1) Ensuite si l'on veut désactiver la vérification du certificat serveur, il suffit de mettre la ligne suivante dans le fichier ldap.conf:
TLS_REQCERT never
puis de redémarrer le serveur apache. Tout devrait fonctionner sans problème.
3.2) En revanche si l'on veut activer la vérification du certificat, il faut spécifier, dans le fichier ldap.conf, l'emplacement des certificats, et ensuite déployer les certificats des serveurs auquels on souhaite se connecter.
Voilà par exemple le contenu de mon ldap.conf:
# # LDAP Defaults #
# See ldap.conf(5) for details # This file should be world readable but not world writable.
#SIZELIMIT 12 #TIMELIMIT 15 #DEREF never HOST 127.0.0.1 BASE dc=example,dc=com TLS_REQCERT hard TLS_CACERT C:\OpenLDAP\sysconf\cacerts\certificate_ca.pem TLS_CACERTDIR C:\OpenLDAP\sysconf\cacerts #TLS_REQCERT never
Comme indiqué dans ldap.conf les certificats seront stockés dans le répertoire C:\OpenLDAP\sysconf\cacerts.
Donc:
4) Créer le répertoire "C:\OpenLDAP\sysconf\cacerts" 5) Créer le fichier "C:\OpenLDAP\sysconf\cacerts\certificate_ca.pem" 6) Editer ce fichier et y mettre le ou les certificats des serveurs LDAP:
Les certificats doivent ressembler à des blocs de texte comme ceci par exemple: