Apache服务的CA与本地的根CA – 哪些赢得?

我目前有两台运行在这里和这里的 Apache服务器,都使用由StartSSL签名的SSL证书。 下面的Apache SSLconfiguration:

## 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上是SHA-1。

我可以在Apache中使用SSLCACertificatePath指令来强制执行SHA-256 CA证书,但这是否会覆盖与操作系统一起分发的根证书?

不,它不会,因为如果客户会信任随机提供给他们的根证书,那么信任存储的全部内容就会有点没有实际意义。

关于你的问题的两个笔记:

  1. 用于签署信任锚证书的algorithm是不相关的 – validation期间不使用签名本身。
  2. SSLCACertificatePath将无法帮助你,因为该指令只用于validation客户端证书,这不是你正在做的。