2011-01-27 3 views

ответ

19

Файл сертификата SSL содержит сертификат X.509 (который, в свою очередь, содержит открытый ключ, используемый для шифрования). Сертификат SSL Ключ Файл содержит закрытый ключ, соответствующий открытому ключу сертификата. Для того чтобы веб-сервер шифровал и, дешифровать трафик, он должен иметь как открытый ключ (сертификат), так и соответствующий закрытый ключ. Apache, в отличие от многих других серверных продуктов, хранит ключ и сертификат в отдельных файлах. Например, продукты на основе Java обычно используют файлы Java KeyStore, которые являются зашифрованной базой данных, содержащей как сертификат, так и закрытый ключ.

0

Для обзора криптографии с открытым ключом, в том числе использования закрытых ключей:

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

И подробной разбивки всех шагов, используемых в TLS, протокол сервер использует для HTTPS-трафика, который показывает, где именно привыкает закрытый ключ:

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

+0

Как насчет краткого изложения, например: «В криптографии с открытым ключом используется закрытый ключ ...»? – Gumbo

+0

Ему нужно только прочитать 3 предложения в первой ссылке, чтобы получить это резюме. Если вы можете быстро ответить на свой вопрос, прочитав статью в вики, это очень плохой вопрос, чтобы спросить других людей здесь. –

+0

Возможно, он задает техническую (и, возможно, не концептуальную) причину, характерную для apache. Я попытался ответить на этот вопрос апаче. – saxos

14

Обычно есть три директивы включены:

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 должен содержать только общедоступную часть вашего сертификата, которую вы хотите доставить с веб-сайта клиенту.

Если указан SSLCertificateChainFile, веб-сервер будет прикреплять соответствующие сертификаты (для создания цепочки к корневому ЦС) к сертификату веб-сервера. Вы также можете поместить частную часть своего сертификата в файл, как указано в SSLCertificateFile, но это NOT рекомендуется по соображениям безопасности (например, у веб-сервера есть ошибка, происходит буффер потока и распечатывается закрытый ключ для злоумышленника) ,

Вместо поставить только закрытый ключ в отдельном файле и объявить его в SSLCertificateKeyFile