Précédent   Forum des professionnels en informatique > Systèmes > Linux > Sécurité
Sécurité Vos questions sur la sécurité sous Linux/Unix
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 26/08/2009, 19h04   #1
Membre habitué
 
Inscription : février 2004
Messages : 320
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 320
Points : 113
Points : 113
Par défaut openssl verify avec crl_check / crl_check_all => nos amies les listes de revocation



je souhaite vérifier qu'une chaine certificat est bien valide à la ligne de commande en utilisant l'outil "openssl verify"

Code :
1
2
3
4
 
$ openssl verify -CApath /etc/ssl/certs certificationChain.PKC7.pem
certificationChain.PKC7.pem: OK
$
==> ca marche !

maintenant je voudrais aussi vérifier que le certificat n'est pas présent dans la CRL (Certificate Revocation List))

donc il faut rajouter le switch -crl_check

Code :
1
2
3
4
5
 
$ openssl verify -CApath /etc/ssl/certs -crl_check certificationChain.PKC7.pem
certificationChain.PKC7.pem: <<bla bla bla ici le champ subject du certificat>>
error 3 at 0 depth lookup:unable to get certificate CRL
$
===> unable to get certificate CRL

par ailleurs, je dispose bien des fichiers de CRL, je peux les mettre à jour, etc. Je peux les convertir du format binaire au formpat pem (-----BEGIN X509 CRL-----tralalalal-----END X509 CRL-----)
j'ai meme un fichier de toutes les crl en pem concaténées à la suite.

j'ai essayé plusieurs combinaisons. Les mettre dans /etc/ssl/certs mais aussi /etc/ssl/crl/, j'ai meme essayé de passer ces repertoires au c_rehash

j'ai double-checké le /etc/ssl/openssl.cnf (notamment la ligne dir= et autour)...

j'ai vérifié les droits de lecture sur les fichiers...

rien n'y fait.

je suis à cours d'idée là.
fourchette est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/09/2009, 10h17   #2
Membre habitué
 
Inscription : février 2004
Messages : 320
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 320
Points : 113
Points : 113
bon en fait il faut s'assurer que la/les CRL sont dispo dans le CApath ou donner explicitement la CRL concernée via un -CAfile

si on choisit de mettre les CRL dans le CApath, alors il faut bien passer ce répertoire au c_rehash pour que ca rajoute bien les liiens symboliques hashés. Sans lien symboliques hashés, openssl ne pourra pas trouver les CRL alors meme qu'elles sont bien présentes dans le répertoire en question

man c_rehash

résolu
fourchette est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/09/2009, 10h26   #3
Membre habitué
 
Inscription : février 2004
Messages : 320
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 320
Points : 113
Points : 113
ah oui je précise...

à tous ceux qui en utilisant le openssl verify -crl-check et tombent sur un erreur à la c** uniquement un fournisseur de CRL et pas les autres, et que le -dit fournisseur n'aide pas bcp à debugger...

il est possible de faire une routine de crl_check custom en utilisant plusieurs commandes openssl successives

principe

1. demander un issuer_hash et un serial du certificat par openssl (commande openssl x509 -serial -issuer_hash je crois)
2. si on a bien passé le répertoire des CRL au c_rehash alors le fichier de CRL correspondant s'appelle "issuer_hash.r0" (c'est le format du lien symbolique calculé par c_rehash)
3. afficher cette CRL en mode texte openssl crl -text -noout
4. passer le résultat au grep en cherchant le serial du début

==> si le grep attrappe qqch c'est que le certificat est bien révoqué

bon courage aux malheureux à qui se post serait utile

edit: l'erreur en question était "key usage does not include CRL signing" (petite accroche pour nos amis les moteurs de recherche )
fourchette est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 07h37.


 
 
 
 
Partenaires

Hébergement Web