Pourquoi SSLCertificateKeyFile est-il nécessaire pour Apache?

Quelle est la raison technique pour laquelle SSLCertificateKeyFile est nécessaire (la clé privée)? Où est utilisé et pour quoi?

21
demandé sur Tower 2011-01-27 12:52:42

3 réponses

le fichier de certificats SSL contient le certificat X. 509 (qui, à son tour, contient une clé publique utilisée pour le chiffrement). Le fichier du certificat SSL clé contient la clé privée correspondant à la clé publique du certificat. Pour chiffrer le trafic de décryptage et , le serveur Web doit posséder à la fois la clé publique (certificat) et la clé privée correspondante. Apache, contrairement à beaucoup d'autres produits serveur, stocke la clé et certificat dans des fichiers séparés. Les produits basés sur Java, par exemple, utilisent généralement des fichiers Java KeyStore, qui sont une base de données cryptée contenant à la fois le certificat et la clé privée.

20
répondu Shadowman 2011-02-03 20:18:44

il y a habituellement trois directives incluses:

SSLCertificateFile /opt/csw/apache2/certs/icompany/publicCert.pem
SSLCertificateChainFile /opt/csw/apache2/certs/icompany/chain.pem
SSLCertificateKeyFile /opt/csw/apache2/certs/icompany/PrivateKeyCert.pem

SSLCertificateFile ne doit contenir que la partie publique de votre certificat, que vous souhaitez remettre au client à partir du site web.

si SSLCertificateChainFile est spécifié, le serveur web attachera les certificats associés (pour construire une chaîne entière vers un CA racine) au certificat du serveur web. Vous pouvez également mettre la partie privée de votre certificat dans le fichier spécifié dans SSLCertificateFile mais ceci est pas recommandé pour des raisons de sécurité (par exemple, le serveur web a un bug, le tampon oferflow se produit et affiche la clé privée de l'attaquant).

mettez seulement la clé privée dans un dossier séparé et déclarez-la dans SSLCertificateKeyFile

14
répondu saxos 2011-01-27 10:45:00

pour un aperçu de la cryptographie à clé publique, y compris l'utilisation de clés privées:

http://en.wikipedia.org/wiki/Public-key_cryptography#How_it_works

et une ventilation détaillée de toutes les étapes utilisées dans TLS, le protocole que votre serveur utilise pour le trafic https, qui montre exactement où la clé privée est utilisée:

http://en.wikipedia.org/wiki/Transport_Layer_Security

0
répondu Dan Grossman 2011-01-27 09:55:07