gpt4 book ai didi

authentication - 使用 clientAuth=want 的 tomcat 客户端身份验证

转载 作者:行者123 更新时间:2023-11-28 21:45:49 27 4
gpt4 key购买 nike

我的应用程序需要对特定 URL 进行客户端身份验证,客户端身份验证成功后,应用程序本身也会对客户端证书主题进行一些验证(使用 spring security x509 过滤器)。我想将 tomcat 配置为针对特定 URL 强制执行客户端身份验证 (clientAuth=true),但基于这篇文章,我似乎无法仅使用 tomcat 来执行此操作 - configure tomcat for client authentication only for specific URL patterns .

我的问题是,如果我使用clientAuth=want,当服务器请求证书时是否会如下所示:

  1. 如果设备有身份证书但不被 tomcat truststoreFile 中配置的 CA 信任,则不会传递任何证书,请求将在 spring 安全过滤器中失败(证书将为空)
  2. 如果设备具有在 tomcat truststoreFile 中配置的 CA 信任的身份证书,但该证书无效(不确定进行了哪些验证)或已过期,则身份验证将在 tomcat 中(在安全过滤器之前)或选项 1 中失败没有证书将被传递并且请求将在 spring 安全过滤器中失败(证书将为空)

使用 want + security filter 的这种配置是否存在我可能遗漏的安全漏洞?我想问题是 - 如果证书最终从设备传递到服务器,服务器将始终验证它(未过期,受信任等)即使使用 clientAuth=want 并且如果证书是不允许客户端继续无效的?没有证书通过的情况由将检查证书是否为空的安全过滤器涵盖。

谢谢!

最佳答案

您在 1. 和 2. 中的假设都是正确的。 Tomcat 将不允许不受信任或无效的证书进入您的应用程序。如果您获得空证书,则可以假设没有通过证书,或者通过了不受信任/无效的证书。

在我正在进行的项目中,我们有与您相同的要求:仅针对某些 URL 的客户端证书。我们通过实验发现了“clientAuth=want”是如何工作的。

关于authentication - 使用 clientAuth=want 的 tomcat 客户端身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14962069/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com