Bonjour à tous,Je suis en train de mettre en place, sur un serveur de test Debain Sarge un service d'annuaire 'OpenLDAP' sécurisé.
Celui-ci marche bien en 'ldap' mais pas en 'ldaps'.
J'ai un petit problème de vérification de certificat.
Voici la procédure que j'ai suivi :
SUR MON ORDI SERVEUR (IP:aaa.bbb.ccc.ddd) :
-------------------------------------------
Installation du service OpenLDAP (+utilitaire, +couche sécurité) :
#apt-get install slapd libsasl2-modules ldap-utils db4.2-util
#apt-get install openssl ca-certificates
Arrêt de 'ldap' :
-> /etc/init.d/slap stop
Génération du mot de passe 'rootpw' :
-> slappasswd
New .........
Retype .........
{SHA}.....................
Modifications dans mon fichier '/etc/ldap/slapd.conf' :
ajout de :
-> rootdn "cn=admin,dc=TestNSS"
-> rootpw {SSHA}..................
Modification dans '/etc/default/slapd' :
-> SLAPD_SERVICES="ldap:/// ldaps:///"
Génération des certificats auto signés :
comme il est indiqué dans le fichier 'CA.pl' :
# ...
# CA -newca ... will setup the right stuff
# CA -newreq[-nodes] ... will generate a certificate request
# CA -sign ... will sign the generated request and output
# ...
-> cd /etc/ldap/
-> /usr/lib/ssl/misc/CA.pl -newca
-> /usr/lib/ssl/misc/CA.pl -newreq
-> /usr/lib/ssl/misc/CA.pl -sign
-> cp demoCA/cacert.pem .
-> cp newcert.pem server.crt
-> cp newreq.pem server.crypt-key
-> openssl rsa -in server.crypt-key -out server.key
J'ai à la fin :
-> ls -als /etc/ldap/
1.) 'server.crt' (certificat de mon serveur)
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
2.) 'server.key' (clé sans MdP)
-----BEGIN RSA PRIVATE KEY-----
...
-----END RSA PRIVATE KEY-----
3.) 'cacert.pem' (??? certificat de la CA ? pour la vérif ?)
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
Modifications dans '/etc/ldap/slapd.conf' :
...
-> TLSCipherSuite HIGH:MEDIUM:+SSLv2
-> TLSCertificateFile /etc/ldap/server.crt
-> TLSCertificateKeyFile /etc/ldap/server.key
-> TLSCACertificateFile /etc/ldap/cacert.pem
-> #TLSVerifyClient 0
-> TLSVerifyClient allow
...
Redémarrage de 'ldap' :
-> /etc/init.d/slap start
J'ai testé SUR MON ORDI CLIENT :
--------------------------------
-> ldapsearch -b "dc=TestNSS" -LLL -H "ldap://aaa.bbb.ccc.ddd/" -x
"(cn=admin)"
CA MARCHE (SANS MDP) -> ldapsearch -b "dc=TestNSS" -LLL -H "ldap://aaa.bbb.ccc.ddd/" -D "cn=admin,dc=TestNSS" -W -x "(cn=admin)" CA MARCHE AUSSI (AVEC MDP DE admin) Mais : -> ldapsearch -b "dc=TestNSS" -LLL -H "ldaps://aaa.bbb.ccc.ddd/" -x "(cn=admin)" ERREUR : ldap_bind: Can't contact LDAP server (-1) additional info: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed et aussi : -> openssl s_client -connect aaa.bbb.ccc.ddd:636 -showcerts -state ... ... --- New, TLSv1/SSLv3, Cipher is AES256-SHA Server public key is 1024 bit SSL-Session: Protocol : TLSv1 Cipher : AES256-SHASession-ID: 1D2FDD0C620A67C44DAD128FD35FE3D3CC9F554B9716C73C08CE97FF38F9822B
Session-ID-ctx:
Master-Key:
0C7D078193BB18BE43EB851BE83EE27C8BCE623AAA025E8BF9A8D8CA4E6AC80727ECFF596B257EFD43263F9AC6CF7B9F
Key-Arg : None
Start Time: 1128671693
Timeout : 300 (sec)
Verify return code: 21 (unable to verify the first certificate)
---
L'erreur est assez clair :-)
Je ne comprends pas pourquoi la vérification du certificat échoue...
Est-ce que ma méthode de génération d'un certificat auto signé est bonne ?
Doit-on mettre quelque chose (clé publique ? certificat ?) sur mon
ordinateur client ?
Merci d'avance pour votre aide. Vincent. -- - Mr FARGET Vincent Administrateur Systèmes UMR 5020 - Laboratoire des Neurosciences et Systemes Sensoriels Universite Claude Bernard LYON 1 - CNRS 50, avenue Tony Garnier 69366 LYON Cedex 07 ## Ce message est signé par un certificat CNRS ## http://igc.services.cnrs.fr/Doc/General/trust.html http://www.urec.cnrs.fr/igc/Certifs_CNRS.html ##### # Pour que la signature soit valide, vous devrez # récupérer préalablement le certificat de # l'autorité de certification CNRS-Plus en # cliquant sur le lien ci dessous : http://igc.services.cnrs.fr/cgi-bin/viewca?cmd=load&CA=CNRS-Plus&ca=CNRS-Plus
smime.p7s
Description: S/MIME Cryptographic Signature

