客户端证书身份验证如何基于每个目录工作?

时间:2014-03-11 17:52:29

标签: apache ssl client-certificates

根据文档,Apache允许为一个目录请求客户端证书身份验证,而不是为另一个目录请求它。 http://httpd.apache.org/docs/2.2/ssl/ssl_howto.html#arbitraryclients

怎么可能?

我假设第一个TLS / SSL进行握手(包括客户端证书验证),并且仅在此之后,通过安全通道发送HTTP请求。此HTTP请求包含一个URL。

因此,看起来需要获取(或跳过)客户端证书身份验证的URL(指令)。

所以,我不清楚,Apache如何首先检查URL并稍后决定是否请求客户端证书身份验证。

1 个答案:

答案 0 :(得分:5)

它使用SSL / TLS重新协商:服务器发送TLS Hello Request message以通过发送新的客户端Hello消息来请求客户端触发新的握手(这次服务器将在其服务器Hello之后发送证书请求消息)。

Hello请求消息原则上可以在HTTP交换期间的任何时间发生。对于此特定功能,服务器在收到请求后(因此知道请求了哪个资源),但在发送响应之前发送它。