我目前有两个 Apache 服务器正在运行这里和这里,都使用由 StartSSL 签名的 SSL 证书。Apache SSL 配置如下:
## SSL directives
SSLEngine on
SSLCertificateFile "/etc/certificates/thor.vikingserv.net/certificate.crt"
SSLCertificateKeyFile "/etc/certificates/thor.vikingserv.net/private.key"
SSLCertificateChainFile "/etc/certificates/intermediate/startssl-class-1.crt"
服务器证书和中间证书都是 SHA-256,但是我的 Linux 工作站上的 CA 证书是 SHA-256,而我的 MacBook 上的 CA 证书是 SHA-1。
我可以使用SSLCACertificatePath
Apache 中的指令强制使用 SHA-256 CA 证书,但这会覆盖随操作系统分发的根证书吗?
答案1
不会,因为如果客户端信任向他们提供的随机根证书,那么信任存储的整个意义就变得毫无意义了。
关于你的问题有两点说明:
- 用于签署信任锚证书的算法无关紧要——签名本身不会在验证期间使用。
SSLCACertificatePath
无论如何都帮不了你,因为该指令只在验证客户端证书时使用,而这不是你正在做的事情。