2013-01-18 7 views
5

Ho una webapp con un'area https pubblica e un https privato protetto con certificato client utilizzando la rinegoziazione SSL. Questa configurazione funziona correttamente (non senza molto lavoro) in Tomcat 7 con APR.Come posso far funzionare la rinegoziazione di CLIENT-CERT SSL in Jetty?

Ora sto lavorando con Jetty e ho provato tutto ma non riesco a farlo funzionare.

La finestra di dialogo dei certificati client non viene mai visualizzata nel browser e ottengo sempre un errore HTTP 403.

Il mio ambiente è: jdk 1.7.0.02 molo 9.0.0.M3 lanciato da Eclipse Helios con m2e. (jetty: run)

Sembra che il server abbia abilitato la rinegoziazione SSL, testandolo come indicato in here, quindi sono abbastanza sicuro che non ci siano problemi con i problemi di sicurezza rinegoziazione SSL.

Ho eseguito l'override di ClientCertAuthenticator (per eseguire il debug) e ho creato un LoginService personalizzato, e sembra che X509Cert non venga mai visualizzato nella richiesta.

Sembra che la rinegoziazione SSL non venga mai attivata e l'autenticazione non riesce, perché nella richiesta non è presente un certificato.

LoginService configurato restituisce semplicemente true ad ogni convalida. Posso anche postarli, se richiesto, ma i metodi importanti non vengono mai chiamati.

Se utilizzo needCLientCert o wantClientCert, l'applicazione funziona correttamente, ma il browser richiede il certificato nell'area pubblica.

I miei file di configurazione:

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

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

molo-context.xml: http://pastebin.com/rcSsBfRW

pom.xml (parte pontile): http://pastebin.com/wBLATggq

Mi manca qualcosa di ovvio? Non lo so. Ho cercato molto e provato molte configurazioni possibili, ma, senza fortuna.

risposta

Problemi correlati