I seguenti sono stati i passaggi che ho seguito per risolvere questo problema:
Riavvia il server in modalità provvisoria (tieni premuto il tasto Maiusc durante il riavvio)
Lasciala inattiva per un po '(apparentemente è la pulizia delle cache in questa modalità)
Interrompe il server slapd esistente
sudo launchctl unload /System/Library/LaunchDaemons/org.openldap.slapd.plist
Imposta il GUID del certificato corretto nel file /etc/openldap/slapd_macosxserver.conf . Questo può essere accertato dai contenuti della directory / etc / certificates
sudo sed -e 's/oldguid/newguid/' /etc/openldap/slapd_macosxserver.conf >/tmp/conffile
sudo mv /tmp/conffile /etc/openldap/slapd_macosxserver.conf
Rimuovi i valori del certificato TLS configurato dal file /etc/openldap/slapd.d/cn=config.ldif
sudo vi /etc/openldap/slapd.d/cn=config.ldif
remove any lines beginning with olcTLSCertificate
Avvia nuovamente il server slapd
sudo launchctl load /System/Library/LaunchDaemons/org.openldap.slapd.plist
Riavvia il server in modalità standard.
Quindi da un computer client con linux o mac osx verifica che sia possibile connettersi tramite SSL e che i certificati siano corretti utilizzando il comando
openssl s_client -connect ldap.yourdomain:636 -showcerts
In caso di successo si otterrà un dump dei certificati del server e una descrizione dei dettagli della connessione:
No client certificate CA names sent
---
SSL handshake has read 5209 bytes and written 807 bytes
---
New, TLSv1/SSLv3, Cipher is AES256-SHA
Server public key is 4096 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
Protocol : TLSv1
Cipher : AES256-SHA
Session-ID: C8E0F4A4ED24021DB4D98ACF5A9ACDC2293BC3961BF2AE90026115D899369E73
Session-ID-ctx:
Master-Key:
Key-Arg : None
PSK identity: None
PSK identity hint: None
SRP username: None
TLS session ticket:
...
Start Time: 1400140597
Timeout : 7200 (sec)
Verify return code: 0 (ok)
Altre note:
- Apple suggerisce di poter utilizzare il proprio certificato autofirmato
catene ( link ). Io uso un auto firmato
catena e ha successo.
- La porta 636 è la porta ldaps standard ed è la porta utilizzata da OpenDirectory (slapd)
- TLS1 è supportato come può essere visto dal test di connessione openssl
- Differenti nomi DNS e nomi host non sono importanti (ho provato entrambi i modi con un riavvio tra)
- Il DNS inverso diverso non ha importanza (ho provato entrambi i modi con un riavvio tra)