29

需要 SSLCertificateKeyFile(私钥)的技术原因是什么?它在哪里使用,有什么用?

4

3 回答 3

27

SSL 证书文件包含 X.509 证书(该证书又包含用于加密的公钥)。SSL 证书密钥文件包含与证书中的公钥对应的私钥。为了让网络服务器加密解密流量,它必须同时拥有公钥(证书)和相应的私钥。与许多其他服务器产品不同,Apache 将密钥和证书存储在单独的文件中。例如,基于 Java 的产品通常使用 Java KeyStore 文件,这是一个包含证书和私钥的加密数据库。

于 2011-02-03T20:18:44.913 回答
21

通常包含三个指令:

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指定,则网络服务器会将关联的证书(以构建到根 CA 的整个链)附加到网络服务器证书。您也可以将证书的私有部分放入文件中,SSLCertificateFile但出于安全原因建议这样做(例如,网络服务器存在错误,发生缓冲区流量并将私钥打印给攻击者)。

而是仅将私钥放在单独的文件中并在SSLCertificateKeyFile

于 2011-01-27T10:45:00.000 回答
0

有关公钥密码学的概述,包括私钥的使用:

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

以及 TLS 中使用的所有步骤的详细分解,这是您的服务器用于 https 流量的协议,它准确显示了私钥的使用位置:

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

于 2011-01-27T09:55:07.097 回答