2010-10-05 1 views
12

J'essaye de me lier à un serveur LDAP en utilisant PHP. C'est un processus assez simple, sauf que je ne peux pas contourner une erreur de certificat que je reçois. Mes informations d'identification sont correctes, car je peux me connecter au serveur avec Apache Directory Studio. Est-il possible d'accepter automatiquement le certificat du serveur? Similaire à la façon dont vous cliquez sur "Accepter ce certificat .." avec Apache répertoire studio? Je sais que ce n'est pas une bonne sécurité, mais j'ai juste besoin de le faire fonctionner à ce stade et peut résoudre le problème de cert plus tard.Besoin d'aide ignorer le certificat de serveur lors de la liaison au serveur LDAP en utilisant PHP

Merci

+0

duplication possible de [Comment résoudre ldap \ _start \ _tls() "Impossible de démarrer TLS: erreur de connexion" en PHP?] (Http://stackoverflow.com/questions/2689629/how-do-i- solve-ldap-start-tls-incapable-de-démarrer-tls-connect-error-in-php) – flu

Répondre

22

Vous ne spécifiez pas l'environnement, voici donc la réponse (qui se trouve ailleurs sur ce site: How do I solve ldap_start_tls() "Unable to start TLS: Connect error" in PHP?):

Linux: sur la machine client (PHP serveur web) modifier le fichier ldap.conf que les systèmes utilise, dans RH/Fedora le fichier que vous voulez est /etc/openldap/ldap.conf (pas /etc/ldap.conf, c'est pour l'authentification du système ...). Ajouter/modifier la ligne suivante:

TLS_REQCERT never 

Fenêtres: Ajouter une variable d'environnement système comme suit:

LDAPTLS_REQCERT=never 

Ou dans votre code PHP, avant la ldap_connect, mettre:

putenv('LDAPTLS_REQCERT=never'); 

Ceci assurera que l'instance PHP du serveur web client ne vérifie jamais le FQDN du serveur par rapport au CN (nom commun) du certificat. Très utile dans les environnements de cluster où une adresse IP virtuelle et un certificat sont utilisés. Mais puisque cela fait en sorte que les autres outils/applications du système d'exploitation complet sur le serveur Web ne vérifient pas non plus cela, assurez-vous que votre environnement autorise ce changement (les environnements de haute sécurité pourraient ne pas le permettre).

-3

Utilisez un navigateur Web, pointez ldaps: // ipaddress/

lorsque la boîte pop cert up apparaît, voir le cert, regardez la chaîne cert, trouver la racine de confiance (pas le cert spécifique utilisé, plutôt que le parent qui l'a signé) puis exportez ce cert. Enregistrez au format PEM et B64. (Binaire et B64 codé). Ensuite, utilisez-le pour l'entrer dans le format de keystore PHP, quel qu'il soit. Les fichiers de clés Java sont faciles. Je ne suis pas sûr de ce que PHP utilise.

+0

Êtes-vous sûr que les navigateurs reconnaissent le schéma 'ldaps: //'? Chrome pour moi ne .... – bishop

+1

Cette réponse est une approximation approximative, et pas utile. – Sven

Questions connexes