【发布时间】:2012-03-24 03:16:05
【问题描述】:
我正在尝试找出在现有 Spring Security 实现中在何处以及如何实现 PKI 身份验证。
我在 tomcat 中更改了我的 server.xml 的配置,使其具有两个连接器来处理“普通”用户名和密码身份验证,然后是“PKI”身份验证。不同之处在于 PKI 连接器启用了 clientAuth 并指向机器上颁发的信任库。
这允许用户选择他们想要的身份验证方式,他们可以单击正常的用户名/密码身份验证以转到一个连接器,或者他们可以单击 PKI 身份验证以使用另一个连接器。我的 tomcat 配置正确提示用户使用他们的证书并输入他们的 pin,我在该 pin 处收到带有 X509Certificate 证书链的 HttpServletRequest。
现在我已经设置好了,如何配置 Spring Security 以允许任何一种形式的身份验证?我试图弄清楚如何使用证书的 EDI 作为用户名/密码的替换,并且仍然进行安全检查,例如检查到期日期、查看卡是否被吊销等。
非常感谢任何想法或链接,谢谢!
【问题讨论】:
-
你读过documentation关于X.509身份验证的内容吗?
-
@LukeTaylor 我没有,感谢您指出这一点。看来我需要在 Spring 中添加另一个过滤器来提取证书链?
标签: tomcat spring-security x509certificate pki cac