Outils / méthodes de débug sur la validation de la chaine de certification ssl

Le
Daniel Caillibaud
Bonjour,

J'ai eu récemment un pb avec un site https joignable normalement avec un =
navigateur (certif
valide) mais pas curl qui répond "unable to get issuer certificate"

J'ai alors remis à jour la liste de certificats que j'utilise, compilée=
manuellement à partir
des certifs de mon iceweasel 26 (méthode
https://github.com/bagder/curl/blob/master/lib/firefox-db2pem.sh), mais ç=
a change rien.

testé avec (le site fait du tls1)
curl -1 --cacert ca-bundle.crt https://www.parisclassenumerique.fr/
mais aussi
wget --secure-protocol=TLSv1 --ca-certificate ca-bundle.crt
ou
openssl s_client -host www.parisclassenumerique.fr -port 443 -verify -deb=
ug -tls1

(je laisse le site concerné parce que c'est mieux de causer sur un exempl=
e réel, j'espère que
l'admin m'en voudra pas de le faire sur une liste publique, mais c'est pas =
non plus une erreur
de conf très grave puisque tous les navigateurs accèdent au site)

https://ssltools.websecurity.symantec.com/checker/views/certCheck.jsp montr=
e bien le certif
intermédiaire manquant et propose même de le récupérer.

Il commence par MIIGHjCCBQagAwIBAgIQLE mais je le trouve nul part sur ma ma=
chine
(fouillé avec un grep sur /etc/ssl/certs, /usr/share/ca-certificates et
~/.mozilla/firefox/*.default), donc je suppose que je l'ai pas localement.

D'où deux questions

1) Pourquoi firefox arrive à valider la chaîne sans avoir ce certif int=
ermédiaire et que
openssl n'y parvient pas ?

2) Quelle méthode permet de parvenir au certif manquant (que symantec aff=
iche) ?

openssl s_client est bavard mais je vois pas comment récupérer dans sa =
sortie l'info permettant
de trouver le certif intermédiaire manquant

Merci

--
Daniel

Une cause très petite, qui nous échappe, détermine un effet considé=
rable que nous ne
pouvons pas ne pas voir, et alors nous disons que cet effet est dû au has=
ard.
Henri Poincaré

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: http://lists.debian.org/20140207065427.27c2c0a5@quad.lairdutemps.org
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
nb
Le #25976702
Le Vendredi 7 Février 2014 06:54 CET, Daniel Caillibaud

D'où deux questions

1) Pourquoi firefox arrive à valider la chaîne sans avoir c e certif intermédiaire et que
openssl n'y parvient pas ?

2) Quelle méthode permet de parvenir au certif manquant (que sym antec affiche) ?

openssl s_client est bavard mais je vois pas comment récupé rer dans sa sortie l'info permettant
de trouver le certif intermédiaire manquant



Pour la question 2:

locate ca-certificates.crt

exemple de réponse : /etc/ssl/certs/ca-certificates.crt (c'est un fichier qui contient les certificats d'autorités)

puis

openssl s_client -CAfile /etc/ssl/certs/ca-certificates.crt -host www .parisclassenumerique.fr -port 443 -verify -state
^^^^^^^^^^^^^^^^^^^^
valeur récupérée pré cédemment

Ton certificat n'a aucun problème.

Eventuellement faire une mise à jour des certificats auparavant :

update-ca-certificates puis updatedb (au cas où)

Ma réponse reste malgré tout incomplète en ce sens que c e ne devrait pas être nécessaire d'indiquer le CAfile.

Il faudrait creuser du côté de openssl version -d et de c_r ehash, mais ce n'est pas l'objet de ta question

nb

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Daniel Caillibaud
Le #25976792
Le 07/02/14 à 14:01, "nb" N> > 2) Quelle méthode permet de parvenir au certif manquant (que symante c affiche) ?
N> >
N> > openssl s_client est bavard mais je vois pas comment récupérer dan s sa sortie l'info
N> > permettant de trouver le certif intermédiaire manquant

N> Pour la question 2:
N>
N> locate ca-certificates.crt
N>
N> exemple de réponse : /etc/ssl/certs/ca-certificates.crt (c'est un fich ier qui contient les
N> certificats d'autorités)
N>
N> puis
N>
N> openssl s_client -CAfile /etc/ssl/certs/ca-certificates.crt -host
N> www.parisclassenumerique.fr -port 443 -verify -state ^^^^^^^^^^^^^^^^^^^^
N> valeur récupérée précédemment
N>
N> Ton certificat n'a aucun problème.

Ils ont corrigé la conf du serveur ce matin ;-)
(sont réactif, on leur a signalé le pb hier soir)

Avant il manquait un certif intermédiaire dans la chaîne, c'est ce qu'a ffichait le site de
symantec avec un lien pour récupérer le certif manquant.

C'était pour passer le 1er maillon, de
www.parisclassenumerique.fr
à
VeriSign Class 3 Extended Validation SSL SGC CA


Actuellement, openssl s_client renvoie toujours du

depth=2 C = US, O = "VeriSign, Inc.", OU = VeriSign Trust Network, OU = "(c) 2006 VeriSign,
Inc. - For authorized use only", CN = VeriSign Class 3 Public Primary Cer tification Authority -
G5
verify error:num :unable to get local issuer certificate
verify return:0

mais il se connecte (et les appels curl ou wget fonctionnent).

Si j'utilise le ca-bundle.crt que je me suis fabriqué à partir des cert ifs de firefox, j'ai pas
l'avertissement, mais je vois pas trop comment trouver le certif manquant.

--
Daniel

Bien sûr l'Amérique avait été découverte avant Colomb.
Mais le secret avait été bien gardé.
Oscar Wilde

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Publicité
Poster une réponse
Anonyme