Sono riuscito a farlo funzionare correttamente con openldap su Amazon Linux (Elastic Beanstalk PHP 7.0) con LDAP MacOS Server 5, con TLS impostato su richiesta.
in /etc/openldap/ldap.conf:
domanda TLS_REQCERT
TLS_CACERT /etc/openldap/certs/yourcacert.pem
(notare che se non si utilizza OpenLDAP, il il percorso sarà /etc/ldap/certs/yourcacert.pem). Questa configurazione non ha funzionato fino a quando non ho inserito il certificato nella cartella certs; non ha funzionato da nessun altro percorso.
Il certificato ad essere messi in quel percorso non è il certificato TLS del server. È il certificato CA (Certificate Authority) dell'autorità che ha emesso il certificato TLS server/dominio specifico. Solo il certificato CA posto in quel percorso permetterà TLS di lavorare prima di tentare un binding LDAP in php. Prendi il certificato CA dal tuo server o scaricalo dal sito dell'autorità, sono disponibili gratuitamente.
Per verificare se il binding LDAP funziona anche senza TLS, impostare TLS_REQCERT mai temporaneamente (potrebbe essere necessario commentare # out TLS_CACERT). Se ottieni "Impossibile connettersi a LDAP" non si tratta di un errore TLS; semplicemente non può connettersi al server e probabilmente è necessario aprire la porta 389 (non 636 per TLS).
Ricordarsi di riavviare il server Apache ogni volta che si apporta una modifica al file di configurazione o il certificato.
fare proprio questo non ha funzionato per me. Quello che dovevo fare (seguendo il thread su: http://www.mediawiki.org/wiki/Thread:Extension_talk:LDAP_Authentication/Unable_to_start_TLS_-_Warning_on_line_577), era di impostare $ wgLDAPEncryptionType = array ('YOUR_DOMAIN' => 'clear'); in LocalSettings.php. Questo ha funzionato immediatamente. –
Si prega di non disabilitare la verifica del certificato aprendo un buco di sicurezza consentendo l'attacco dell'uomo in mezzo. Stai crittografando la trasmissione senza verificare la destinazione! – svandragt
@svandragt non mi importava neanche a questo punto. Se mi restituirà qualcosa che non sia un errore, sarò eternamente grato. Su un sistema Windows con PHP 5.3, la risposta di cui sopra non funziona –