Why is SSLCertificateKeyFile needed for Apache?

2019-06-14 21:38发布

What's the technical reason that SSLCertificateKeyFile is needed (the private key)? Where is that used and for what?

3条回答
一纸荒年 Trace。
2楼-- · 2019-06-14 22:13

Usually there are three directives included:

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 should contain only the public portion of your certificate, which you want to deliver from the website to the client.

If SSLCertificateChainFile is specified, the webserver will attach the associated certificates (to build up a whole chain to a Root CA) to the webserver certificate. You could also put the private portion of your certificate into the file as specified in SSLCertificateFile but this is NOT recommended for security reasons (for example the webserver has a bug, buffer oferflow occurs and prints out the private key to the attacker).

Instead put only the private key in a separate file and declare it in SSLCertificateKeyFile

查看更多
【Aperson】
3楼-- · 2019-06-14 22:25

The SSL certificate file contains the X.509 certificate (which, in turn, contains a public key used for encryption). The SSL Certificate Key File contains the private key corresponding to the public key in the certificate. In order for the webserver to encrypt and decrypt traffic, it must have both the public key (certificate) and corresponding private key. Apache, unlike a lot of other server products, stores the key and certificate in separate files. Java-based products, for example, typically use Java KeyStore files, which are an encrypted database containing both the certificate and private key.

查看更多
贼婆χ
4楼-- · 2019-06-14 22:31

For an overview of public key cryptography, including the use of private keys:

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

And a detailed breakdown of all the steps used in TLS, the protocol your server uses for https traffic, which shows exactly where the private key gets used:

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

查看更多
登录 后发表回答