11 votes

Les serveurs Web envoient-ils la chaîne de certificats au client Web ?

Si mon serveur web (Apache le plus récent) possède une chaîne de certificats Verisign valide (non expirée ou révoquée) (racine -> intermédiaire -> feuille/mon serveur), est-ce que le serveur envoyer l'ensemble de la chaîne ( ?) vers le client ? Est-ce que le client web (par exemple, le dernier Chrome) besoin de pour rechercher chacune de ces même en ligne, surtout si le client fait déjà confiance à l'AC racine ?

Que se passe-t-il si le client ne peut pas contacter Verisign ? (par exemple, une installation LAMP sur un ordinateur portable sans WiFi).

14voto

nachopro Points 181

Si vous lisez RFC 5246 Chapitre 7.4.2 vous trouverez que :

liste de certificats
Il s'agit d'une séquence (chaîne) de certificats. Le certificat de l'expéditeur DOIT être le premier de la liste. Chaque certificat suivant suivant DOIT certifier directement celui qui le précède. Parce que la validation des certificats exige que les clés racine soient distribuées indépendamment, le certificat auto-signé qui spécifie l'auteur du certificat racine PEUT être omis de la chaîne, en supposant que l'extrémité chaîne, en supposant que l'extrémité distante doit déjà le posséder afin de le le valider dans tous les cas.

l'explique très bien. Le fait que le serveur fasse réellement cela dépend de la façon dont l'administrateur système l'a configuré. De nombreux serveurs mal configurés "s'en sortent" sans faire ce qui précède, car de nombreux clients peuvent récupérer leurs certificats d'autorité de certification en utilisant l'URL fournie dans l'extension AIA.

De nombreux clients mettent également en cache les certificats qu'ils reçoivent/téléchargent afin de réduire la charge de récupération à chaque fois qu'ils construisent une chaîne. Chrome sous Windows utilise CAPI de Microsoft pour gérer ses certificats (comme IE), qui met les certificats en cache. Chrome sous Linux/OSX utilise le NSS de Mozilla pour gérer ses certificats, qui sont également mis en cache. Il y a donc de fortes chances que si vous avez utilisé votre site Web en ligne, tous les certificats des autorités de certification supérieures soient mis en cache sur votre système et que la mise hors ligne fonctionne (pour un certain temps en tout cas).

Cependant, certaines AC utilisent OCSP pour la vérification de la révocation. Si vous êtes hors ligne, le client OCSP ne peut pas contacter le répondeur OCSP pour obtenir des informations de révocation. Ce qui se passe dans ce scénario dépend de la configuration de votre logiciel client. Par défaut, la plupart des navigateurs font un "soft fail", c'est-à-dire qu'ils ignorent le fait qu'un répondeur OCSP ne peut pas être contacté et supposent que tout va bien. Certains peuvent être configurés en "hard fail", c'est-à-dire qu'ils échouent les contrôles de révocation si le répondeur OCSP ne peut être contacté.

0voto

snowdude Points 2790

Ce que votre serveur envoie dépend de la façon dont vous le configurez, bien sûr.

Il enverra le contenu du fichier SSLCertificateChainfile s'il est configuré et le contenu de votre SSLCertificateFile .

Ceux-ci ne devraient pas avoir besoin du certificat de l'autorité de certification racine mais devraient probablement inclure le certificat intermédiaire pour permettre à un client d'établir la chaîne de confiance.

Je ne sais pas ce qui se passe dans un scénario hors ligne, mais lorsque vous êtes hors ligne, vous ne pouvez pas utiliser mes services de production, donc ce n'est pas un problème que j'ai pris la peine d'étudier. Testez-le vous-même.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X