We hebben 3 ldap servers die replicatie doen met elkaar. Dit werkt.
Het verkeer moet versleuteld worden met server en client certificaten.
Het genereren van deze certificaten gebeurt met openssl.
Voor de client certificaten werd de volgende extension opgeroepen:
Na het toevoegen van de CA en het desbetreffende servercertificaat aan slapd.conf hebben we getest of we met:
kunnen connecteren, dit lukt prima (verify code = 0) op ieder van de servers.
Als we daarna een ldaprc aanmaken (die hij ook effectief gebruikt tijdens het opstarten van ldap) met daarin een verwijzing naar het clientcertificaat en de key, krijgen we telkens "unsupported certificate purpose".
Normaal wil dit zeggen dat je servercertificaten ipv clientcertificaten gebruikt (zegt google). Maar waarom werkt bovenstaand "openssl s_client.." commando dan wel?
TLSVerifyClient staat op "demand"
Als extra test hebben we geprobeerd ldapsearch uit te voeren vanop onze laptop op een van de servers. We maken hierbij een ldaprc bestand aan met eender welk van de 3 client certificaten in verwezen. Vervolgens konden we ons zonder problemen authenticeren en kregen we resultaten terug.
Het verkeer moet versleuteld worden met server en client certificaten.
Het genereren van deze certificaten gebeurt met openssl.
Voor de client certificaten werd de volgende extension opgeroepen:
code:
1
2
3
4
5
6
7
8
| [ client_cert ] authorityKeyIdentifier=keyid,issuer subjectKeyIdentifier=hash subjectAltName=email:move issuerAltName=issuer:copy basicConstraints=CA:FALSE nsCertType = client, email, objsign keyUsage = nonRepudiation, digitalSignature, keyEncipherment |
Na het toevoegen van de CA en het desbetreffende servercertificaat aan slapd.conf hebben we getest of we met:
Bash:
1
| openssl s_client -connect -CAfile... -cert clientcert -key clientkey |
kunnen connecteren, dit lukt prima (verify code = 0) op ieder van de servers.
Als we daarna een ldaprc aanmaken (die hij ook effectief gebruikt tijdens het opstarten van ldap) met daarin een verwijzing naar het clientcertificaat en de key, krijgen we telkens "unsupported certificate purpose".
Normaal wil dit zeggen dat je servercertificaten ipv clientcertificaten gebruikt (zegt google). Maar waarom werkt bovenstaand "openssl s_client.." commando dan wel?
TLSVerifyClient staat op "demand"
Als extra test hebben we geprobeerd ldapsearch uit te voeren vanop onze laptop op een van de servers. We maken hierbij een ldaprc bestand aan met eender welk van de 3 client certificaten in verwezen. Vervolgens konden we ons zonder problemen authenticeren en kregen we resultaten terug.
[ Voor 11% gewijzigd door BartBlackMagic op 29-01-2013 21:16 ]