我的應用程序需要對特定URL進行客戶端身份驗證,客戶端身份驗證成功後,應用程序本身也會對客戶端證書主題(使用spring security x509過濾器)進行一些驗證。我想配置tomcat強制客戶端身份驗證(clientAuth = true)爲特定的URL,但基於這篇文章,似乎我不能這樣做只使用tomcat - configure tomcat for client authentication only for specific URL patterns。使用clientAuth的tomcat客戶端身份驗證=需要
我的問題是,如果我用clientAuth =希望,將在下面當服務器請求一個證書是如下:
- 如果設備有身份證明,但不是在Tomcat的truststoreFile配置的CA信任,則不會傳遞證書,並且該請求在Spring安全篩選器中失敗(證書將爲空)
- 如果設備具有由在tomcat truststoreFile中配置的CA信任的身份證書,但是無效(不確定執行了哪些驗證)或過期,或者認證將在tomcat中(在安全過濾器之前)失敗,或者如選項1中那樣,將不傳遞證書d請求將在彈簧安全過濾器中失敗(證書將爲空)
是否存在使用此配置的需要+安全過濾器時可能丟失的安全漏洞?我想問題是 - 如果證書最終從設備傳遞到服務器,服務器將始終驗證它(即使在使用clientAuth =時也是如此),並且不會允許客戶端在證書爲無效?未通過證書的情況由安全篩選器覆蓋,將檢查證書是否爲空。
謝謝!
感謝您的回答 – michalv82 2013-12-03 18:15:07