Salut
J'ai un doute sur le fonctionnement du contrôle de validité d'un certificat.
Je dispose d'un certificat issu d'une autorité de certification intermédiaire.
Pouvez vous me confirmer que le contrôle fonctionne de cette manière :
- Depuis mon certificat, j'extrais l'émetteur et les informations de l'autorité.
- j'accède à l'URL contenue dans les informations de l'autorité et récupère le certificat de l'autorité intermédiaire
- j'utilise le certificat de l'autorité intermédiaire pour contrôler mon premier certificat
- je vérifie que le certificat est bien issu d'une autorité de certification racine.
La chaine complète est vérifiée
J'ai donc absolument besoin d'avoir un accès à internet pour contrôler la chaine complète
Ou alors y a-t-il un mécanisme intégré permettant de valider la chaine complète sans récupérer le certificat de l'autorité intermédiaire sur internet ?
Je m'y perds…
Merci !
David.
# Les certificats d'autorité sont installés dans l'OS/navigateurs
Posté par Jehan (site web personnel, Mastodon) . Évalué à 4.
Salut,
Les certificats dits "de confiance" sont intégrés localement dans ton ordi, en général installé avec ton navigateur (parfois certaines distributions Linux remanient la liste des autorité qu'elles considèrent de confiance). Ces certificats d'autorité ne sont donc pas récupérés "sur internet" (enfin si le jour où t'as téléchargé ton navigateur, mais pas au cas par cas quand tu visites un site). Voir par exemple la liste des certificats de CA inclus dans Firefox.
Les seules choses qui sont régulièrement vérifiées (et mises en cache, je doute que ce soit très efficace de télécharger à chaque appel) sont les listes de révocation de certificats.
Certains certificats d'autorités intermédiaires sont eux-même intégrées dans les navigateur (donc considérées de confiance au même titre que les autorités parentes qui ont signé leurs certificats), d'autres non.
En tant qu'hébergeur de site web (ou autre application utilisant ces certificats), c'est donc à toi de savoir cela et d'inclure dans ton certificat l'ensemble de la chaîne de certification jusqu'au premier certificat dont l'autorité est de confiance (car le navigateur ne pourra pas deviner qui a signé leur certificat!).
Ainsi si cette CA intermédiaire est inclus dans les navigateurs, juste fournir ton propre cert est suffisant. Sinon, inclus aussi le leur à la suite (et ainsi de suite si nécessaire).
En tant que développeur d'une application cliente qui doit vérifier des certificats, c'est à toi de décider qui est de confiance ou non (en ayant tes propres procédures, ou peut-être en choisissant de faire confiance à Mozilla ou un autre, et d'utiliser la même liste qu'eux) et d'intégrer les certificats comme données locales à côté de ton code.
Film d'animation libre en CC by-sa/Art Libre, fait avec GIMP et autre logiciels libres: ZeMarmot [ http://film.zemarmot.net ]
[^] # Re: Les certificats d'autorité sont installés dans l'OS/navigateurs
Posté par David . Évalué à 1.
Je possède un certificat issu de "thawte SHA250 SSL CA".
Le certificat de cette autorité intermédiaire n'exite pas dans le magasin de firefox.
Le certificat de autorité intermédiaire est issu de l'autorité racine "thawte Primary Root CA - G3", et existe dans le magasin de firefox.
Sans connexion réseau, j'essaie d'importer mon premier certificat :
Echec, la chaine n'a pu être validée.
Avec connexion réseau, j'essaie d'importer mon premier certificat :
Succès, mon premier certificat a bien été ajouté dans le magasin.
Et le certificat de l'autorité intermédiaire aussi.
Je n'utilise peut-être pas les bons termes et me fait mal comprendre….
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à 3.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: Les certificats d'autorité sont installés dans l'OS/navigateurs
Posté par nomorsad . Évalué à 1.
Je dirais même qu'il faut toujours inclure les certificats intermédiaire dans (y compris le certificat racine, c'est bien plus pratique à debugger ;-)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.