SSLCertificateKeyFileが必要な技術的な理由は何ですか(秘密キー)?それはどこで何のために使用されますか?
SSL証明書ファイルには、X.509証明書が含まれています(X.509証明書には、暗号化に使用される公開鍵が含まれています)。 SSL証明書Keyファイルには、証明書の公開鍵に対応する秘密鍵が含まれています。ウェブサーバーがandトラフィックを暗号化解除するには、公開鍵(証明書)と対応する秘密鍵の両方が必要です。 Apacheは、他の多くのサーバー製品とは異なり、キーと証明書を別々のファイルに格納します。たとえば、Javaベースの製品では、通常、Java KeyStoreファイルを使用します。これは、証明書と秘密鍵の両方を含む暗号化されたデータベースです。
通常、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
で指定されているように、証明書のプライベート部分をファイルに入れることもできますが、これは[〜#〜] not [〜#〜]セキュリティ上の理由から推奨されます(たとえばWebサーバーにバグがあり、バッファフローが発生し、秘密鍵が攻撃者に出力されます)。
代わりに、秘密鍵のみを別のファイルに入れ、SSLCertificateKeyFile
で宣言します。
秘密鍵の使用を含む公開鍵暗号化の概要については、次のとおりです。
http://en.wikipedia.org/wiki/Public-key_cryptography#How_it_works
そして、TLSで使用されるすべてのステップの詳細な内訳、サーバーがhttpsトラフィックに使用するプロトコル。秘密鍵がどこで使用されるかを正確に示します。