2013-01-18 39 views
5

我有一個具有公共https區域的web應用程序,以及使用SSL重新協商通過客戶端證書保護的私人https。 這個配置在Tomcat 7中使用APR可以正常工作(不是沒有很多工作)。如何使Jetty中的CLIENT-CERT SSL重新協商工作?

現在我正在與Jetty合作,我嘗試了一切,但我無法完成工作。

客戶端證書對話框從不出現在瀏覽器中,我總是得到一個HTTP 403錯誤。

我的環境是: jdk 1.7.0.02 jetty 9.0.0.M3從Eclipse Helios以m2e啓動。 (碼頭:運行)

服務器似乎啓用了SSL重新協商,並按照here所示進行了測試,所以我確信SSL重新協商安全問題沒有問題。

我已經覆蓋了ClientCertAuthenticator(能夠調試)並創建了一個自定義LoginService,看起來X509Cert從不出現在請求中。

看起來像SSL重新協商從不觸發,並且身份驗證失敗,因爲請求中沒有證書。

配置的LoginService僅對每個驗證返回true。如果詢問,我也可以發佈它們,但重要的方法永遠不會被調用。

如果我使用needCLientCert或wantClientCert應用程序工作正常,但瀏覽器在公共區域請求證書。

我的配置文件:

的web.xml:http://pastebin.com/LQ3RcWY4

的jetty.xml:http://pastebin.com/iE9xqcLq

碼頭-context.xml中:http://pastebin.com/rcSsBfRW

的pom.xml(碼頭部分):http://pastebin.com/wBLATggq

我錯過了一些明顯的東西嗎?我不知道。我搜索了很多並嘗試了許多可能的配置,但是,沒有運氣。

回答