Ich konnte dies mit openldap auf Amazon Linux (Elastic Beanstalk PHP 7.0) mit MacOS Server 5 LDAP richtig funktionieren, mit TLS eingestellt zu verlangen.
in /etc/openldap/ldap.conf:
TLS_REQCERT Nachfrage
TLS_CACERT /etc/openldap/certs/yourcacert.pem
(beachten Sie, dass, wenn Sie nicht verwenden, OpenLDAP, die Pfad ist /etc/ldap/certs/yourcacert.pem). Dieses Setup hat nicht funktioniert, bis ich das Zertifikat in den Ordner certs gestellt habe. es funktionierte nicht von irgendeinem anderen Weg.
Das Zertifikat, das in diesen Pfad eingefügt werden soll, ist NICHT das TLS-Zertifikat des Servers. Es ist das CA (Certificate Authority) -Zertifikat der Behörde, die das server/domainspezifische TLS-Zertifikat ausgestellt hat. Nur das CA-Zertifikat in diesem Pfad ermöglicht TLS zu arbeiten, bevor eine LDAP-Bindung in PHP versucht wird. Holen Sie das CA-Zertifikat von Ihrem Server oder laden Sie es von der Website der Behörde, sie sind frei verfügbar.
Um zu testen, ob die LDAP-Bindung auch ohne TLS funktioniert, setzen Sie TLS_REQCERT niemals vorübergehend (möglicherweise müssen Sie TLS_CACERT auskommentieren). Wenn Sie "Verbindung zu LDAP nicht herstellen" erhalten, handelt es sich nicht um einen TLS-Fehler. Es kann einfach keine Verbindung zum Server herstellen und Sie müssen wahrscheinlich Port 389 (nicht 636 für TLS) öffnen.
Denken Sie daran, Ihren Apache-Server jedes Mal neu zu starten, wenn Sie die Konfigurationsdatei oder das Zertifikat ändern.
Doing nur das hat nicht für mich funktioniert. Was ich tun musste (folge dem Thread unter: http://www.mediawiki.org/wiki/Thread:Extension_talk:LDAP_Authentication/Unable_to_start_TLS_-_Warning_on_line_577), war es, $ wglDAPEncryptionType = array ('YOUR_DOMAIN' => 'clear'); in der LocalSettings.php. Das hat es aufgemacht und sofort funktioniert. –
Bitte nicht, dass Sie durch die Deaktivierung der Zertifikatsüberprüfung eine Sicherheitslücke öffnen, indem Sie dem Benutzer den mittleren Angriff erlauben. Sie verschlüsseln die Übertragung, ohne das Ziel zu überprüfen! – svandragt
@svandragt Ich interessiere mich nicht einmal an dieser Stelle. Wenn es mir etwas zurückgibt, das kein Fehler ist, werde ich ewig dankbar sein. Auf einem Windows-System mit PHP 5.3, die obige Antwort funktioniert nicht –