apache - 客户端证书身份验证如何在每个目录的基础上工作?

标签 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,然后再决定是否请求客户端证书身份验证。

最佳答案

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

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

关于apache - 客户端证书身份验证如何在每个目录的基础上工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22332697/

相关文章:

ios - 此服务器的证书对于 swift 3 上的自签名证书无效

c# - OnCertificateValidated 未运行 - 自签名证书客户端身份验证 - ASP.NET Core 和 Kestrel

asp.net - 如何静默请求特定的 SSL 客户端证书

html - 通过域不同的网站

mysql - apache进程和Mysql进程过载

.net - 通过安全连接(SSL、https)登录网站的简便方法?

java - 无法调用网络服务

laravel - 使用证书限制对 Laravel 登录页面的访问

php - 将 API 上传到 DigitalOcean 液滴端口上的端口

ios - AFNetworking - SSL - 添加了 .cer 文件,但服务器端出现 400 错误