在认证之前,是否可以通过spring-security中的CRL检查x509客户端证书的撤销状态?我检查了文档(http://static.springsource.org/spring-security/site/docs/3.0.x/reference/x509.html),但它没有提到有关CRL的任何内容。
实现UserService只会为您提供用户名而不是X509Certificate。任何帮助将不胜感激!
谢谢!
答案 0 :(得分:6)
我不确定Spring-Security的细节,但如果它基于JRE的信任管理器(如果它是Oracle / Sun JRE),则可以通过将这些系统属性设置为{{}来激活CRL检查。 1}}:true
和com.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验证的)证书,并允许您将其链接到本地用户帐户。