SSLCertificateKeyFile が必要な技術的な理由 (秘密鍵) は何ですか? それはどこで、何のために使われますか?
3 に答える
SSL証明書ファイルにはX.509証明書が含まれています(これには、暗号化に使用される公開鍵が含まれています)。SSL証明書キーファイルには、証明書の公開キーに対応する秘密キーが含まれています。Webサーバーがトラフィックを暗号化および復号化するには、公開鍵(証明書)と対応する秘密鍵の両方が必要です。Apacheは、他の多くのサーバー製品とは異なり、キーと証明書を別々のファイルに保存します。たとえば、Javaベースの製品は通常、証明書と秘密鍵の両方を含む暗号化されたデータベースであるJavaKeyStoreファイルを使用します。
通常、次の 3 つのディレクティブが含まれます。
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
Web サイトからクライアントに配信する証明書の公開部分のみを含める必要があります。
が指定されている場合SSLCertificateChainFile
、Web サーバーは関連する証明書を (ルート CA へのチェーン全体を構築するために) Web サーバー証明書に添付します。で指定されているように、証明書のプライベート部分をファイルに入れることもできますSSLCertificateFile
が、これはセキュリティ上の理由からお勧めできません(たとえば、Web サーバーにバグがあり、バッファ オブ フローが発生し、秘密鍵が攻撃者に出力されます)。
代わりに、秘密鍵のみを別のファイルに入れ、それを宣言しますSSLCertificateKeyFile
秘密鍵の使用を含む公開鍵暗号化の概要については、次を参照してください。
http://en.wikipedia.org/wiki/Public-key_cryptography#How_it_works
また、サーバーが https トラフィックに使用するプロトコルである TLS で使用されるすべての手順の詳細な内訳は、秘密鍵が使用される場所を正確に示しています。