在进行身份验证之前,请检查Spring-Security中的X509证书吊销状态

时间:2011-12-14 15:02:51

标签: java spring ssl spring-security x509

在认证之前,是否可以通过spring-security中的CRL检查x509客户端证书的撤销状态?我检查了文档(http://static.springsource.org/spring-security/site/docs/3.0.x/reference/x509.html),但它没有提到有关CRL的任何内容。

实现UserService只会为您提供用户名而不是X509Certificate。任何帮助将不胜感激!

谢谢!

2 个答案:

答案 0 :(得分:6)

我不确定Spring-Security的细节,但如果它基于JRE的信任管理器(如果它是Oracle / Sun JRE),则可以通过将这些系统属性设置为{{}来激活CRL检查。 1}}:truecom.sun.net.ssl.checkRevocation,并设置com.sun.security.enableCRLDP(感谢@WillSargent指出它是Security.setProperty("ocsp.enable", "true")属性,而不是系统属性。

此处有更多详情:

答案 1 :(得分:3)

SSL握手由servlet容器执行,而不是Spring Security,因此任何CRL检查都应该在那时进行。 Spring Security将其视为“预认证”场景。

Spring Security只读取(已经过SSL验证的)证书,并允许您将其链接到本地​​用户帐户。