在我们的服务器上,我们使用 haproxy 来检查客户端证书。我们通过结合 G1 和 EV 中间证书以及 G1 和 EV 根证书来构建一个 ca-bundle 文件。我们还有一个服务器证书,其中没有中间证书。
现在我们有一个问题。当用户使用客户端证书调用服务器时,它工作正常。但问题是当返回服务器证书时,该证书还包含中间证书和根证书。我们应该只返回带有中间证书而不是根证书的证书。
要启用 ssl,我们使用这个 haproxy 配置选项:
frontend https
mode http
bind *:443 accept-proxy ssl verify optional crt-ignore-err all crt <SERVER-CERT>.pem-key ca-file <COMBINDED-CERTS>.ca-bundle crl-file <CRL-FILE>.crl
default_backend ssl-proxy
# rest of the configuration
我们已尝试从 CA 包中删除根证书,这导致根证书未添加到服务器证书中,但从 CA 包中删除时,无法检查客户端证书。此选项不可用。
现在的问题是为什么会发生这种情况以及如何更改根证书不会添加到服务器证书中。