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?
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.
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
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: