81 votes

Différence entre SSLCACertificateFile et SSLCertificateChainFile

Je fournis des pages SSL sur mon serveur web, et j'ai une question. Quelle est la différence entre SSLCACertificateFile et SSLCertificateChainFile ?

Lorsque j'utilise SSLCertificateChainFile, j'ai reçu des avertissements du navigateur du téléphone portable japonais, mais lorsque j'utilise le navigateur du PC (comme IE, FF), il n'y a pas de problème. Par contre, SSLCACertificateFile n'a pas posé de problème pour les deux navigateurs.

Y a-t-il une différence lorsque les navigateurs se connectent à apache ?

0 votes

C'est trop facile le sig de racine n'est pas dans le magasin de racine du téléphone mobile qui est commun

78voto

BMDan Points 189

SSLCertificateChainFile était une option correcte à choisir mais cette directive est devenue obsolète à partir de Apache 2.4.8 . Cette directive fait en sorte que le fichier listé soit envoyé avec le certificat à tous les clients qui se connectent.

SSLCACertificateFile (ci-après "CACert") remplace SSLCertificateChainFile (ci-après "Chain"), et permet en outre l'utilisation du cert en question pour signer client certificats. Ce type d'authentification est assez rare (du moins pour le moment), et si vous ne l'utilisez pas, il n'y a aucune raison d'augmenter sa fonctionnalité en utilisant CACert au lieu de Chain. D'un autre côté, on pourrait dire qu'il n'y a pas de mal à utiliser cette fonctionnalité supplémentaire, et que CACert couvre tous les cas. Les deux arguments sont valables.

Inutile de dire que si vous demandez au vendeur de certificats, il vous poussera toujours à choisir CACert plutôt que Chain, car cela lui donne une autre chose (des certificats de clients) qu'il peut potentiellement vous vendre par la suite ;).

0 votes

Un autre élément à prendre en compte est l'algorithme. "Mais attention : Fournir la chaîne de certificats ne fonctionne que si vous utilisez un certificat de serveur unique (RSA ou DSA). Si vous utilisez une paire de certificats RSA+DSA couplés, cela ne fonctionnera que si les deux certificats utilisent la même chaîne de certificats. Sinon, les navigateurs seront confus dans cette situation." ---- httpd.apache.org/docs/2.0/mod/

0 votes

@Eddie Correct, mais je crois qu'il est important de mentionner que cela affecte les deux options également. En outre, il est probablement utile de souligner que les certificats DSA sont (heureusement) de plus en plus rares.

21voto

Alexander Pogrebnyak Points 24964

En fait, les deux peuvent être des options valables.

Utilisez SSLCertificateChainFile pour publier votre certificat signé par une autorité de certification publique (VeriSign, RapidSSL, etc.).

Utilisez SSLCACertificateFile pour fournir votre autorité de certification "privée", qui peut émettre des certificats clients, que vous pouvez distribuer à certains utilisateurs sélectionnés. Ces client Les certificats sont en fait excellents pour l'authentification (par rapport à l'authentification de base par mot de passe), et il n'est généralement pas nécessaire qu'ils soient distribués par une autorité de certification publique (ce qui vous permet de faire des économies).

Donc, si vous voulez ajouter une autorisation sécurisée à une partie de votre site Web, faites ceci :

<Directory /var/www/html/authorized>
  SSLVerifyClient require
  SSLVerifyDepth  5

  SSLOptions +StrictRequire
  SSLUserName SSL_CLIENT_S_DN_CN
  SSLRequireSSL
</Directory>

Pour une brève explication SSLUserName SSL_CLIENT_S_DN_CN définira le nom de l'utilisateur authentifié par le nom commun du certificat, plutôt que par le sujet x509 '/OU=Foo/CN=...'.

-4voto

Shane O'Grady Points 1758

Des informations supplémentaires sont nécessaires pour répondre correctement à cette question. Par exemple, le type de certificat, les navigateurs à partir desquels vous accédez, la version du serveur Apache, etc.

Pour plus d'informations sur l'option SSLCertificateChainFile, voir aquí , faites attention à la dernière note.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X